JAVA GUI学习 - JList列表、JScrollPane滚动条组件学习

 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 }

 

你可能感兴趣的:(scroll)