博为峰Java技术文章 ——JavaSE Swing使用ComboBoxModel创建下拉列表框Ⅲ
2017-03-10 19:59
507 查看
博为峰小博老师:
同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]);
}
}
}
同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]);
}
}
}
相关文章推荐
- 博为峰Java技术文章 ——JavaSE Swing使用ComboBoxModel创建下拉列表框Ⅰ
- 博为峰Java技术文章 ——JavaSE Swing使用ComboBoxModel创建下拉列表框Ⅲ
- 博为峰Java技术文章 ——JavaSE Swing使用ComboBoxModel创建下拉列表框Ⅱ
- 博为峰Java技术文章 ——JavaSE Swing使用ComboBoxModel创建下拉列表框Ⅱ
- 博为峰Java技术文章 ——JavaSE Swing使用数组和Vector创建下拉列表框
- 博为峰Java技术文章 ——JavaSE Swing使用ComboBoxModel创建下拉列表框Ⅰ
- 博为峰Java技术文章 ——JavaSE Swing使用数组和Vector创建下拉列表框
- 博为峰Java技术文章 ——JavaSE Swing使用ListModel方式创建列表框Ⅳ
- 博为峰Java技术文章 ——JavaSE Swing使用Vector方式创建列表框
- 博为峰Java技术文章 ——JavaSE Swing使用ListModel方式创建列表框Ⅰ
- 博为峰Java技术文章 ——JavaSE Swing使用数组方式创建列表框
- 博为峰Java技术文章 ——JavaSE Swing使用ListModel方式创建列表框III
- 博为峰Java技术文章 ——JavaSE Swing使用ListModel方式创建列表框Ⅳ
- 博为峰Java技术文章 ——JavaSE Swing使用数组方式创建列表框
- 博为峰Java技术文章 ——JavaSE Swing使用Vector方式创建列表框
- 博为峰Java技术文章 ——JavaSE Swing使用ListModel方式创建列表框Ⅰ
- 博为峰Java技术文章 ——JavaSE Swing使用ListModel方式创建列表框III
- 博为峰Java技术文章 ——JavaSE Swing 下拉列表框的事件处理
- 博为峰Java技术文章 ——JavaSE Swing使用ListModel方式创建列表框II
- 博为峰Java技术文章 ——JavaSE Swing使用ListModel方式创建列表框II