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 }