- 1 import java.awt.BorderLayout;
- 2 import java.awt.EventQueue;
- 3 import javax.swing.JFrame;
- 4 import javax.swing.JPanel;
- 5 import javax.swing.border.EmptyBorder;
- 6 import javax.swing.UIManager;
- 7 import java.awt.GridLayout;
- 8 import javax.swing.JScrollPane;
- 9 import javax.swing.JList;
- 10 import java.awt.event.WindowAdapter;
- 11 import java.awt.event.WindowEvent;
- 12 import javax.swing.ListSelectionModel;
- 13 import javax.swing.JLabel;
- 14 import javax.swing.SwingConstants;
- 15 import java.awt.Font;
- 16 import javax.swing.JFrame;
- 17
- 18 public class JListSelectModelTest extends JFrame {
- 19 private JPanel contentPane;
- 20 private JList list1;
- 21 private JList list2;
- 22 private JList list3;
- 23 private JLabel label1;
- 24 private JLabel label2;
- 25 private JLabel label3;
- 26 public static void main(String[] args) {
- 27 // TODO Auto-generated method stub
- 28 try {
- 29 UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
- 30 } catch (Throwable e) {
- 31 e.printStackTrace();
- 32 }
- 33 JListSelectModelTest frame = new JListSelectModelTest();
- 34 frame.setVisible(true);
- 35 }
- 36
- 37 public JListSelectModelTest() {
- 38 setTitle("列表项的选择模式");
- 39 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- 40 setBounds(100, 100, 550, 300);
- 41 contentPane = new JPanel();
- 42 contentPane.setLayout(new BorderLayout(0, 0));
- 43 setContentPane(contentPane);
- 44
- 45 JPanel panel = new JPanel();
- 46 contentPane.add(panel, BorderLayout.CENTER);
- 47 panel.setLayout(new GridLayout(1, 3, 5, 5));
- 48
- 49 JScrollPane scrollPane1 = new JScrollPane();
- 50 panel.add(scrollPane1);
- 51
- 52 list1 = new JList();
- 53 list1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
- 54 list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//设置选择模式为单选
- 55 scrollPane1.setViewportView(list1);
- 56
- 57 label1 = new JLabel("单项选择");
- 58 label1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
- 59 label1.setHorizontalAlignment(SwingConstants.CENTER);//设置标签水平居中
- 60 scrollPane1.setColumnHeaderView(label1);//设置滑动面板首个显示
- 61
- 62 JScrollPane scrollPane2 = new JScrollPane();
- 63 panel.add(scrollPane2);
- 64
- 65 list2 = new JList();
- 66 list2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
- 67 list2.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);//设置选择模式为单选或shift
- 68 scrollPane2.setViewportView(list2);
- 69
- 70 label2 = new JLabel("连续选择(按shift)");
- 71 label2.setHorizontalAlignment(SwingConstants.CENTER);
- 72 label2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
- 73 scrollPane2.setColumnHeaderView(label2);
- 74
- 75 JScrollPane scrollPane3 = new JScrollPane();
- 76 panel.add(scrollPane3);
- 77
- 78 list3 = new JList();
- 79 list3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
- 80 list2.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);//设置选择模式为单选或shift或ctrl
- 81 scrollPane3.setViewportView(list3);
- 82
- 83 label3 = new JLabel("默认选择(按Ctrl/Shift)");
- 84 label3.setHorizontalAlignment(SwingConstants.CENTER);
- 85 label3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
- 86 scrollPane3.setColumnHeaderView(label3);
- 87
- 88 String[] listData = new String[12];
- 89 for (int i = 0; i < listData.length; i++) {
- 90 listData[i] = "余杰" + (i + 1);
- 91 }
- 92 list1.setListData(listData);//添加列表元素
- 93 list2.setListData(listData);
- 94 list3.setListData(listData);
- 95 }
- 96 }