⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmcombobox.java

📁 梦界家园程序开发基底框架
💻 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 + -