列表选择模式:单选、按shift、按shift或ctrl
2024-10-11 22:58:58
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、Ευχαριστ
最新文章
- NodeJs 开发微信公众号(二)测试环境部署
- 发布网站时报错:未能将文件xxx复制到xxx,问题处理
- Open vSwitch FAQ (一)
- django 学习-13 Django文件上传
- iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls
- 团队作业4——第一次项目冲刺(Alpha版本) Day5
- Exponentiation(java 大实数)
- maven settings.xml--需要保存到用户/.m2文件夹下
- 【详解JavaScript系列】JavaScript之流程语句
- Oracle 22表空间
- 【Pyton】【小甲鱼】爬虫4-XXOO
- 《C语言中分配了动态内存后一定要释放吗?》
- 解密虚拟 DOM——snabbdom 核心源码解读
- java高并发之锁的使用以及原理浅析
- UVALive-3126 Taxi Cab Scheme (DAG的最小路径覆盖)
- 修改Linux登录提示信息
- 自定义Cell需要注意的问题
- WPF窗口最大化
- 使用java发送HTTP请求
- 基于itchat实现微信群消息同步机器人
热门文章
- python摸爬滚打之day09----初识函数
- pyqt5-day1
- Entity Framework中IQueryable, IEnumerable, IList的区别(转载)
- bug:使用UIImageView+AFNetworking 图片不能正常显示的原因
- myeclipse项目导入到eclipse, HttpServletRequest报红现象
- 自然语言处理nlp工具
- mysql \c 终止 mysql输入语句模式
- 帝国cms内容关键字自动加链接且设置内容关键字只替换一次
- Linux下高并发socket最大连接数各种限制的调优
- 003-RFC关于媒体类型说明