|  | 
 
| 
如果我们仅仅有两三个选项,那么用复选框和单选按钮就能胜任,可是如果我们有很多选择项,那么使用它们就不太合适了,我们可以使用下拉列表来实现这一功能。 [li]  ·JComboBox() 建立一个JComboBox组件。 [li]  ·JComboBox(ComboBoxModel model) 根据model建立一个JComboBox组件。 [li]  ·JComboBox(Object[] items) 利用数组对象建立一个JComboBox组件。 [li]  ·JComboBox(Vector items) 利用Vector对象建立一个JComboBox组件。[/li] 
 下拉列表使用示例:
 import java.awt.*;
 import javax.swing.*;
 public class JComboBoxDemo extends JFrame{
 public JComboBoxDemo(){
 Container contentPane=this.getContentPane();
 JPanel jPanel1=new JPanel(new GridLayout(1,2));
 //利用String数组建立JComboBox
 String[] fruit={"苹果","香蕉","桔子","梨","芒果"};
 JComboBox jComboBox1=new JComboBox(fruit);
 jComboBox1.addItem("其他"); //在列表框选项的最后再添加一个"其他"选项
 //设置jList1对象的带标题边框
 jComboBox1.setBorder(BorderFactory.createTitledBorder("您最喜欢的水果:"));
 jPanel1.add(jComboBox1);
 //利用ComboBoxModel建立JComboBox
 ComboBoxModel myModel=new MyModel();
 JComboBox jComboBox2=new JComboBox(myModel);
 jComboBox2.setBorder(BorderFactory.createTitledBorder("您最喜欢的水果:"));
 jPanel1.add(jComboBox2);
 contentPane.add(jPanel1);
 this.setTitle("JComboBoxDemo");
 this.setSize(350,90);
 this.setVisible(true);
 }
 class MyModel extends DefaultComboBoxModel{
 String[] fruit={"苹果","香蕉","桔子","梨","芒果"};
 MyModel(){
 for(int i=0;i<fruit.length;i++){
 /* addElement()方法用于向列表框添加选项元素 */
 this.addElement(fruit);
 }
 }
 }
 public static void main(String args[]){
 JComboBoxDemo test=new JComboBoxDemo();
 }
 }
 运行效果如下图所示:
 
  上面这个实例分别用 String 数组和 ComboBoxModel 对象建立了两个 JComboBox 组件对象,在实际应用中根据具体情况调用恰当的方法建立 JComboBox 组件对象。其中 ComboBoxModel 是一个接口,要通过它建立 JComboBox 必须实现里面定义的所有方法,好在 Java 还提供了 DefaultComboBoxModel 实体类。此类实现了 ComboBoxModel 接口,并且提供了一些常用的方法,利用它我们可以很方便地建立 JComboBox 对象。
 | 
 |