📄 comboboxvalmodel.java
字号:
// Tina POS is a point of sales application designed for touch screens.// Copyright (C) 2005 Adrian Romero Corchado.// http://sourceforge.net/projects/tinapos//// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA/* * ComboBoxValModel.java * * Created on 22 de marzo de 2004, 12:36 */package net.adrianromero.data.gui;import javax.swing.*;import java.util.*;import net.adrianromero.data.loader.IKeyGetter;import net.adrianromero.data.loader.KeyGetterBuilder;/** * * @author adrian */public class ComboBoxValModel extends AbstractListModel implements ComboBoxModel { private List m_aData; private IKeyGetter m_keygetter; private Object m_selected; /** Creates a new instance of ComboBoxValModel */ public ComboBoxValModel(List aData, IKeyGetter keygetter) { m_aData = aData; m_keygetter = keygetter; m_selected = null; } public ComboBoxValModel(List aData) { this(aData, KeyGetterBuilder.INSTANCE); } public ComboBoxValModel(IKeyGetter keygetter) { this(new ArrayList(), keygetter); } public ComboBoxValModel() { this(new ArrayList(), KeyGetterBuilder.INSTANCE); } public void add(Object c) { m_aData.add(c); } public void refresh(List aData) { m_aData = aData; m_selected = null; } public Object getSelectedKey() { if (m_selected == null) { return null; } else { return m_keygetter.getKey(m_selected); // Si casca, excepcion parriba } } public void setSelectedKey(Object aKey) { setSelectedItem(getElementByKey(aKey)); } public Object getElementByKey(Object aKey) { if (aKey != null) { Iterator it = m_aData.iterator(); while (it.hasNext()) { Object value = it.next(); if (aKey.equals(m_keygetter.getKey(value))) { return value; } } } return null; } public Object getElementAt(int index) { return m_aData.get(index); } public Object getSelectedItem() { return m_selected; } public int getSize() { return m_aData.size(); } public void setSelectedItem(Object anItem) { if ((m_selected != null && !m_selected.equals(anItem)) || m_selected == null && anItem != null) { m_selected = anItem; fireContentsChanged(this, -1, -1); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -