列表选择模式:单选、按shift、按shift或ctrl
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、Ευχαριστ
列表选择模式:单选、按shift、按shift或ctrl的更多相关文章
- AndroisStudio列选择模式
今天敲代码的时候可能由于误开了“列选择模式”,在移动光标时,发现若光标所在列超过当前行的行尾列,不像一般情况应该跳到行尾,而变成了保持列的位置,停在了超过行尾的空白处, 如图:非一般情况 一般情况: ...
- eclipse的块选择模式
第一步:Alt+shift+a打开Toggle Block Selection Mode(块选择模式开关) 第二步:点击Toggle Block Selection 第三步:选择多行,同时编辑
- idea进入列选择模式
shift + alt + insert 快捷键进入或退出列选择模式 进入列选择模式可以以列坐标选择一列或者多列
- ui-choose|列表选择jQuery美化插件
ui-choose是一款基于jQuery的列表选择美化插件.ui-choose可用于选项不太多的select.radio.checkbox等,提升用户体验. 使用方法 使用ui-choose列表美化插 ...
- 在DevExpress程序中使用GridView直接录入数据的时候,增加列表选择的功能
在我上篇随笔<在DevExpress程序中使用Winform分页控件直接录入数据并保存>中介绍了在GridView以及在其封装的分页控件上做数据的直接录入的处理,介绍情况下数据的保存和校验 ...
- Windows Phone 8.1 新特性 - 控件之列表选择控件
本篇我们来介绍Windows Phone 8.1 新特性中的列表选择控件. 在Windows Phone 8 时代,大家都会使用 LongListSelector 来实现列表选择控件,对数据进行分组显 ...
- iOS开发——UI篇&下拉弹出列表选择项效果
下拉弹出列表选择项效果 右边菜单中的按键,点击弹出一个列表可选择,选择其中一个,响应相应的事件并把文字显示在右边的菜单上:弹出下拉效果使用LMDropdownView插件,可以用POD进行加载pod ...
- Android 自学之列表选择框Spinner
列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...
- Android——列表选择框(Spinner)
通常情况下,如果列表选择框中要显示的列表项是可知的,那么可以将其保存在数组资源文件中,然后通过数组资源来为列表选择框指定列表项.这样就可以在不编写Java代码的情况下实现一个下拉选择框. 1.在布局文 ...
随机推荐
- Java之旅_高级教程_实例_打印图形
1.打印菱形 public class MainClass{ public static void main(String[] args){ printStar(10); } public stati ...
- word2vec训练好的词向量
虽然早就对NLP有一丢丢接触,但是最近真正对中文文本进行处理才深深感觉到自然语言处理的难度,主要是机器与人还是有很大差异的,毕竟人和人之间都是有差异的,要不然不会讲最难研究的人嘞 ~~~~~~~~~~ ...
- 使用github的srs代码,搭建 RTMP_Server
1. 搭建RTMP服务器 1> 获取开源代码SRS. git clone https://github.com/ossrs/srs 下载源码后,按照如下文档安装https://github.co ...
- CSS学习(二)
<!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title ...
- Linux dmidecode 命令
当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询. dmidecode 用于获取服务器的硬件信息,通常是在不打开计算机机箱的情况下使用该命令来查找硬件详细信息 这 ...
- pip安装提示pkg_resources.DistributionNotFound: pip==18.1
在用pip install安装依赖的时候提示pkg_resources.DistributionNotFound: pip==18.1,更新一下pip就可以了 easy_install pip==18 ...
- windows无法安装到这个磁盘。选中的磁盘采用GPT分区形式 Windows 检测到 EFI 系统分区格式化为 NTFS。将 EFI 系统分区个数化为 FAT32,然后重新启动安装
win10安装问题解决 问题 1.windows无法安装到这个磁盘.选中的磁盘采用GPT分区形式 解决方法: 1.bios,更改 uefi/legacy boot 为ueei only 后面可以安装了 ...
- 008-Centos 7.x安装 Ambari 2.2.2 + HDP 2.4.2 搭建Hadoop集群
1.安装环境说明 安装前先安装好 Centos 7.2, jdk-8u91, mysql5.7.13 一共有3台机器,一个是主节点192.168.111.10,两个是从:192.168.111.11, ...
- HTML5-CSS3-JavaScript(1)
之前大致总结过HTML5的发展. 这里贴出之前的随笔:http://www.cnblogs.com/jiangxiaobo/p/5199924.html 我们就从HTML5的基础总结起.希望可以提高自 ...
- iot-dm异常日志
iot-dm 本机断网日志 2018-03-15 08:55:41,345 INFO com.inspur.iot.client.core.IotConnection Connection is be ...