龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java Swing中的JButton、JComboBox、JList和JColorChooser组件使用案例(3)

时间:2014-10-14 11:06来源:网络整理 作者:网络 点击:
分享到:
列表框的功能与下拉列表框相似,也是让用户在几个条目中做出选择,但又有一些区别,它提供给用户的选择模式更为多样,分别是单一选择、连续选择、

列表框的功能与下拉列表框相似,也是让用户在几个条目中做出选择,但又有一些区别,它提供给用户的选择模式更为多样,分别是单一选择、连续选择、多项选择,对应于 ListSelectionModel 中的3个常量:

(1) static int SINGLE_SELECTION 只能选择一条。

(2) static int SINGLE_INTERVAL_SELECTION 按住[Shift]键可选择联系的区间。

(3) static int MULTIPLE_INTERVAL_SELECTION 按住[Ctrl]键可选择多条。

构造函数如下:

(1) JList() 建立一个 JList 组件。

(2) JList(ListModel model) 根据 model 建立一个 JList 组件。

(3) JList(Object[] items) 利用数组对象建立一个 JList 组件。

(4) JList(Vector items) 利用 Vector 对象建立一个 JList 组件。

将列表框JList添加到JScrollPane中可以实现列表框的滚动.

列表(JList)组件使用示例1如下:

复制代码 代码如下:

public class JListDemo1 extends JFrame{ 
     
    Container contentPane; 
    JPanel jp; 
    JList jList1,jList2,jList3; 
     
   public JListDemo1(){ 
        
      contentPane = this.getContentPane(); 
       
      jp = new JPanel(new GridLayout(1,3)); 
 
      //利用String数组建立JList对象 
      String[] fruit={"苹果","香蕉","桔子","梨","芒果"}; 
      jList1=new JList(fruit); 
      //设置jList1对象的带标题边框 
      jList1.setBorder(BorderFactory.createTitledBorder("您最喜欢的水果: ")); 
      //设置jList1对象的选择模式为单一选择 
      jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
      jp.add(jList1); 
 
      //利用ListModel建立JList对象,可实现列表内容的动态 
      ListModel myModel=new MyModel(); //创建一个列表模型对象       
      jList2=new JList(myModel); //根据列表模型对象创建列表 
      jList2.setBorder(BorderFactory.createTitledBorder("您最喜欢的水果: ")); 
 
      //设置jList2对象的选择模式为按住[Ctrl]可多项选择 
      jList2.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 
      jp.add(jList2); 
       
      jList3=new JList(fruit); 
      jList3.setBorder(BorderFactory.createTitledBorder("您最喜欢的水果: ")); 
      jList3.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 
      jList3.setVisibleRowCount(3); 
      jList3.setFixedCellWidth(120); 
      jList3.setFixedCellHeight(30); 
      JScrollPane jScrollPane = new JScrollPane(jList3); 
      jp.add(jScrollPane); 
       
      contentPane.add(jp); 
       
      this.setTitle("JListDemo"); 
      this.setSize(340,200); 
      //pack(); 
      this.setLocation(400, 300); 
      this.setVisible(true); 
   } 
 
   //通过继承DefaultListModel类可实现动态内容的列表选择 
   class MyModel extends DefaultListModel{ 
        
      String[] fruit={"苹果","香蕉","桔子","梨","芒果"}; 
       
      MyModel(){ 
         for(int i=0;i<fruit.length;i++){ 
            /* void addElement(Object obj) 
             * 将指定组件添加到此类表的末尾。*/ 
            this.addElement(fruit[i]); 
         } 
      } 
   } 
 
   public static void main(String[] args){ 
      JListDemo1 test=new JListDemo1(); 
   } 

运行结果如下图所示:

列表框示例2代码:

精彩图集

赞助商链接