📄 jmcombobox.java
字号:
package jm.framework.gui.module;
import java.awt.Color;
import java.util.Vector;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import jm.util.JM2DArray;
public class JMComboBox extends JComboBox {
private static final long serialVersionUID = -8177274327241898958L;
public static final String CLASS_NAME = "JMComboBox";
public JMComboBox () {
super();
// Vector<String> items = new Vector<String>();
// if (haveBlank) {
// items.add("");
// }
setModel(new DefaultComboBoxModel());
init();
setDefault();
}
public JMComboBox (ComboBoxModel aModel) {
super();
setModel(aModel);
init();
setDefault();
}
public JMComboBox (JM2DArray data, int ...noIndex) {
super();
setListDataWithMaster(data, noIndex);
}
public void setListDataWithMaster (JM2DArray data, int ...noIndex) {
items_ = data;
StringBuilder temp = null;
Vector<String> items = new Vector<String>();
items.add("");
if (data != null) {
try {
items_ = data;
for (int i = 0; i < data.rowCount(); i++) {
if (noIndex == null) {
for (int m = 0; m < data.colCount(); m++) {
temp = new StringBuilder();
temp.append(data.getStringValue(i, m));
if (m != data.colCount()) {
temp.append(" : ");
}
}
items.add(temp.toString());
} else if (noIndex.length == 1) {
items.add(data.getStringValue(i, noIndex[0]));
} else if (noIndex.length == 2) {
items.add(data.getStringValue(i, 0) + " : " + data.getStringValue(i, 1));
} else if (noIndex.length > 2) {
for (int m = 0; m < noIndex.length; m++) {
temp = new StringBuilder();
temp.append(data.getStringValue(i, m));
if (m != noIndex.length) {
temp.append(" : ");
}
}
items.add(temp.toString());
}
}
} catch (Exception e) {
}
}
setModel(new DefaultComboBoxModel(items));
init();
setDefault();
}
public void setListDataNull () {
setModel(new DefaultComboBoxModel());
init();
}
////////////////////////////////////
private JM2DArray items_ = null;
public Object getSelectedItem (int valueIndex) {
try {
if (items_ != null && valueIndex >= 0) {
return items_.getStringValue(this.getSelectedIndex()-1, valueIndex);////////////////////////
}
} catch (Exception e) {
}
return dataModel.getSelectedItem();
}
public void setSelectedItem (String item, int valueIndex) {
try {
if (items_ != null && valueIndex >= 0) {
for (int i = 0; i < items_.rowCount(); i++) {
if (item.equals(items_.getStringValue(i, valueIndex))) {
this.setSelectedIndex(i+1);//////////////////////////
return;
}
}
}
} catch (Exception e) {
}
//遍历无果的时候
setSelectedItem(item);
}
private void init () {
installAncestorListener();
setOpaque(true);
updateUI();
}
private void setDefault () {
this.setBackground(Color.white);
// this.setBorder(JMItemCode.BR_COMBOBOX);
this.setFont(JMItemCode.FT_COMBOBOX);
// this.addKeyListener(new EnterKeyDeal());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -