2018-10-29 21:23:16 开始写



 import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.UIManager;
import java.awt.GridLayout;
import javax.swing.JScrollPane;
import javax.swing.JList;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.ListSelectionModel;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.Font;
import javax.swing.JFrame; public class JListSelectModelTest extends JFrame {
private JPanel contentPane;
private JList list1;
private JList list2;
private JList list3;
private JLabel label1;
private JLabel label2;
private JLabel label3;
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Throwable e) {
e.printStackTrace();
}
JListSelectModelTest frame = new JListSelectModelTest();
frame.setVisible(true);
} public JListSelectModelTest() {
setTitle("列表项的选择模式");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 550, 300);
contentPane = new JPanel();
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane); JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.CENTER);
panel.setLayout(new GridLayout(1, 3, 5, 5)); JScrollPane scrollPane1 = new JScrollPane();
panel.add(scrollPane1); list1 = new JList();
list1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//设置选择模式为单选
scrollPane1.setViewportView(list1); label1 = new JLabel("单项选择");
label1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
label1.setHorizontalAlignment(SwingConstants.CENTER);//设置标签水平居中
scrollPane1.setColumnHeaderView(label1);//设置滑动面板首个显示 JScrollPane scrollPane2 = new JScrollPane();
panel.add(scrollPane2); list2 = new JList();
list2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
list2.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);//设置选择模式为单选或shift
scrollPane2.setViewportView(list2); label2 = new JLabel("连续选择(按shift)");
label2.setHorizontalAlignment(SwingConstants.CENTER);
label2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
scrollPane2.setColumnHeaderView(label2); JScrollPane scrollPane3 = new JScrollPane();
panel.add(scrollPane3); list3 = new JList();
list3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
list2.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);//设置选择模式为单选或shift或ctrl
scrollPane3.setViewportView(list3); label3 = new JLabel("默认选择(按Ctrl/Shift)");
label3.setHorizontalAlignment(SwingConstants.CENTER);
label3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
scrollPane3.setColumnHeaderView(label3); String[] listData = new String[12];
for (int i = 0; i < listData.length; i++) {
listData[i] = "余杰" + (i + 1);
}
list1.setListData(listData);//添加列表元素
list2.setListData(listData);
list3.setListData(listData);
}
}

说明

单选:一次选中一个

shift:多个连续

ctrl:选中多个(不用连续)


谢谢、Thank you、Salamat Do(撒拉玛特朵)、あリがCám o*n(嘉蒙)とゥ(阿里嘎都)、감사합니다 (勘三哈咪瘩)、terima Kasih(得力马卡系)、kob-khun(寇布库恩)、dhanyavaad(达尼阿瓦德)、toda(透达)、te?ekkür ederim(特谢库尔埃戴里姆)、Dzie,kuje(以库以而)、Spasibo(思巴喜柏)、Danke(但可)、shokran(休克朗)、Obrigada(欧布哩嘎搭)、dank u(当Q)、Merci(梅呵西)、Gracias(格拉喜亚思)、Grazie(格啦姬)、Благодарности、Tak、Kiitos、Díky、Hvala、Mul?umesc、Takk、Ευχαριστ

最新文章

  1. NodeJs 开发微信公众号(二)测试环境部署
  2. 发布网站时报错:未能将文件xxx复制到xxx,问题处理
  3. Open vSwitch FAQ (一)
  4. django 学习-13 Django文件上传
  5. iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls
  6. 团队作业4——第一次项目冲刺(Alpha版本) Day5
  7. Exponentiation(java 大实数)
  8. maven settings.xml--需要保存到用户/.m2文件夹下
  9. 【详解JavaScript系列】JavaScript之流程语句
  10. Oracle 22表空间
  11. 【Pyton】【小甲鱼】爬虫4-XXOO
  12. 《C语言中分配了动态内存后一定要释放吗?》
  13. 解密虚拟 DOM——snabbdom 核心源码解读
  14. java高并发之锁的使用以及原理浅析
  15. UVALive-3126 Taxi Cab Scheme (DAG的最小路径覆盖)
  16. 修改Linux登录提示信息
  17. 自定义Cell需要注意的问题
  18. WPF窗口最大化
  19. 使用java发送HTTP请求
  20. 基于itchat实现微信群消息同步机器人

热门文章

  1. python摸爬滚打之day09----初识函数
  2. pyqt5-day1
  3. Entity Framework中IQueryable, IEnumerable, IList的区别(转载)
  4. bug:使用UIImageView+AFNetworking 图片不能正常显示的原因
  5. myeclipse项目导入到eclipse, HttpServletRequest报红现象
  6. 自然语言处理nlp工具
  7. mysql \c 终止 mysql输入语句模式
  8. 帝国cms内容关键字自动加链接且设置内容关键字只替换一次
  9. Linux下高并发socket最大连接数各种限制的调优
  10. 003-RFC关于媒体类型说明