JAVA GUI学习

 1 /**
 2  * 本例结合JList和JScrollPane共同使用
 3  * @author Wfei
 4  *
 5  */
 6 public class JListKnow extends JFrame
 7 {
 8     JList jListKnow01;
 9     JList jListKnow02;
10     JScrollPane jScrollPane02;
11     
12     JSplitPane jSplitPane;
13     JPanel jPanelTop;
14     JPanel jPanelBottom;
15     public JListKnow()
16     {
17         this.setBounds(300, 100, 500, 500);
18         this.setTitle("JList的两种使用方式:推荐第二种使用方式");
19         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
20         
21         jPanelTop = new JPanel();
22         jPanelBottom = new JPanel();
23         
24         jSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,jPanelTop,jPanelBottom);
25         jSplitPane.setDividerLocation(225);
26         
27         this.add(jSplitPane);
28         
29         String[] values = new String[]{"CCCCCC","AAAAAAAA","CCCCCC","DDDDDDD","EEEEEEEEEEEE","FFFFFFFFFFF","HHHHHHHHHHHH"};
30         /********************************JList第一种使用方式*************************************/
31         jListKnow01 = new JList(values);
32         
33         //设置默认选择项
34         jListKnow01.setSelectedIndex(1);
35         
36         //得到已选择项的索引
37         int index = jListKnow01.getSelectedIndex();//JOptionPane.showMessageDialog(null, index+":被选中了");
38         int[] indexS = jListKnow01.getSelectedIndices();
39         //得到已选择项的值
40         String value = (String) jListKnow01.getSelectedValue();
41 //        String[] svalues = (String[]) jListKnow01.getSelectedValues();
42         
43         //设置列表的选择模式  默认为多选模式
44         jListKnow01.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
45         
46         jPanelTop.add(jListKnow01);
47         /********************************JList第二种使用方式:推荐*************************************/
48         /********************************通过模型构建列表********************************/
49         //实例化模型
50         DefaultListModel defaultListModel = new DefaultListModel();
51         //向模型中添加元素
52         for (int i = 0; i < values.length; i++)
53         {
54             defaultListModel.addElement(values[i]);
55         }
56         //删除模型中所有的元素
57 //        defaultListModel.removeAllElements();
58         //根据索引移除模型中的元素,可能会因为没有该索引二报错
59 //        defaultListModel.remove(0);
60         //根据值移除模型中的元素,如果存在多个相同的值,则移除第一个索引的值,如果没有,不会报错
61         defaultListModel.removeElement("CCCCCC");
62         //替换制定索引处的元素
63         defaultListModel.setElementAt("哈哈哈", 1);
64         //根据模型实例化出来JList
65         jListKnow02 = new JList(defaultListModel);
66         
67         jScrollPane02 = new JScrollPane(jListKnow02);
68         
69         jPanelBottom.add(jListKnow02);
70     }
71     public static void main(String[] args)
72     {
73         JListKnow jListKnow = new JListKnow();
74         jListKnow.setVisible(true);
75     }
76 }
原文地址:https://www.cnblogs.com/Wfei/p/3332632.html