博为峰Java技术文章 ——JavaSESwing使用ComboBoxModel创建下拉列表框Ⅲ

    xiaoxiao2021-03-25  95

    博为峰小博老师:

    JList一样,Java对于JComboBox也提供了另一个类,即DefaultComboBoxModel实体类。此类继承了AbstractListModel抽象类,也实现了ComboBoxModel接口,因此不需要再实现getSize(), getElementAt(), setSelectedltem()与getSelectedltem()方法。利用DefaultComboBoxModel类可以很方便地做到动态更改JComboBox的项目值。当没有必要自己定义特殊的ComboBoxModel时,使用DefaultComboBoxModel就显得非常方便。下面将通过一个实例来讲解这种创建方法,其程序代码如下所示:

    public class BWF {

    String[] s={"桃花","梅花","玫瑰","月季","茉莉","菊花"};

    public BWF(){

    JFrame jf=new JFrame("博为峰教育");

    Container contentPane=jf.getContentPane();

    ComboBoxModel<String> model=new Model(s);

    JComboBox<String> combo=new JComboBox<String>(model);

    combo.setBorder(BorderFactory.createTitledBorder("你最喜欢的花是那个?"));

    contentPane.add(combo);

    jf.pack();

    jf.setVisible(true);

    jf.addWindowListener(new WindowAdapter() {

    public void windowClosing(WindowEvent e) {

    System.exit(0);

    }

    });

    }

    public static void main(String[] args) {

    new BWF();

    }

    class Model extends DefaultComboBoxModel<String>{

    private static final long serialVersionUID = 1L;

    Model(String[] s){

    for(int i=0;i<s.length;i++)

    addElement(s[i]);

    }

    }

    }

    转载请注明原文地址: https://ju.6miu.com/read-24939.html

    最新回复(0)