本文是自己学习所做笔记,欢迎转载。但请注明出处:http://blog.csdn.net/jesson20121020

  列表框和JComboBox组合框明显不同,这不不过体如今外观上。

当激活JComboBox组合框时,会出现下拉列表;而JList总是在屏幕上占领固定行的空间,大小也不会改变。

假设要得到列表框中被选中的项目,只需调用getSelectValues(),它能够产生一个字符串数组。里面是被选中的项目名称。

   另外。JList组件也同意多重选择,要是按住ctrl键。连续在多个项目上单击,那么原先选中的项目仍旧保持选中的状态,也就是说能够选中随意多的项目,假设选中了某个项目,按住shift键关单击还有一个项目,那么这两个项目之间的全部项目都将被选中。这和在windows下的操作选中操作类似。

public class List extends JFrame {

	private String[] weekDays = {
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
"星期天"
};
private DefaultListModel lItems = new DefaultListModel(); private JList lst = new JList(lItems);
private JTextArea t = new JTextArea(weekDays.length,10);
private JButton b = new JButton("Add Items"); private int count = 0;
private ActionListener bl = new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(count < weekDays.length){
lItems.add(0, weekDays[count++]);
}
else{
b.setEnabled(false);
}
}
}; private ListSelectionListener ll = new ListSelectionListener() { @Override
public void valueChanged(ListSelectionEvent e) {
// TODO Auto-generated method stub
if(e.getValueIsAdjusting())
return ;
t.setText("");
for(Object item : lst.getSelectedValues())
t.append(item + "\n");
}
};
public List() {
// TODO Auto-generated constructor stub setLayout(new FlowLayout());
setVisible(true);
setSize(300,200);
t.setEnabled(false);
Border brd = BorderFactory.createMatteBorder(1, 1, 2, 2, Color.BLACK);
lst.setBorder(brd);
t.setBorder(brd);
for(int i = 0; i < 4;i++){
lItems.addElement(weekDays[count++]); }
add(t);
add(lst);
add(b);
lst.addListSelectionListener(ll);
b.addActionListener(bl); }
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new List();
} }

  运行结果例如以下:

事实上在非常多应用程序中都能够见到这样的列表框。另外,当列表框的项目过多时,JList并没有提供滚动,当然了,能够将JList包装到JScrollPane,那么它将会实现滚动的效果。

java界面编程(9) ------ 列表框的更多相关文章

  1. java界面编程(8) ------ 组合框(下拉列表)

    本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 与一组单选button的功能类似,组合框(下拉列表)也是强制用户从一组可能的元素 ...

  2. Java界面编程-建立一个可以画出图形的简单框架

    引子:总共使用3个.java文件,建立一个简单界面编程的框架. 第1个文件:NotHelloWorldComponent.java //NotHelloWorldComponent.java 1 im ...

  3. Java界面编程—API

    Java 的 GUI 提供的对象都存在 java.awt 和 java.swing 两个包中. awt :Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能 ...

  4. Java界面编程—事件监听机制

    组件首先要先注册事件处理器,当用户单击组件.移动鼠标或者敲击键盘时都会产生事件(Event),一旦有时间发生,应用程序就会做出对该事件的响应,这些组件就是事件源(Event source). 接受.解 ...

  5. Java界面编程—事件的种类

    Java处理事件相应的类和监听接口大多位于 awt 包中. 在 java.swing.event 包中有专门用于 swing 组件的事件类和监听接口. awt 事件类继承自 AWTEvent,其超类是 ...

  6. java界面编程(3) ------ 控制布局

    本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 在java 中,组件放置在窗口上的方式可能与其它的GUI系统都不同样.首先,它全 ...

  7. Java 界面编程【03】事件监听

    当你把界面都设计好了,总需要添加相应的执行动作给组件,在JAVA中有相应的时间处理机制,叫做“监听器”,给组件添加相应执行动作的过程叫做“注册”,其中的“监听器”是一个接口,里面包含了相应的执行函数, ...

  8. Java 界面编程【02】事件注册

    聪明出于勤奋,天才在于积累.——华罗庚 对上次的三个问题的个人理解: 1) 程序首先是从main函数开始执行的,假设main 函数不是 static ,就要先实例化这个类,然后调用 main 方法,这 ...

  9. Java界面编程—布局管理

    布局是指容器中组件的排列方式 常用的布局管理器 布局管理器名称 所属类包 说明 FlowLayout(流式布局) java.awt 组件按照加入的先后顺序.按照设置的对齐方式从左向右排列,一行排满后到 ...

随机推荐

  1. C# 调用Mysql 带参数存储过程

    使用C#调用Mysql 带参数的存储过程: 1.创建带参数的存储过程:USP_Temp_Test 2.两个参数:IN 参数为 P_XML , OUT 参数为 P_ErrorOut 3.C#代码调用该存 ...

  2. apache启动失败提示预期<IfModule>结果<IfModule>>

    经过反复查看httpd.conf文件,发现原因是启动了两遍<IfModule>,也就是出现内容重复标签重复曾经遇到类似的情况Apache2: Expected </> but ...

  3. 【转】WITH AS 用法

    转载自:http://blog.csdn.net/shaochao14/article/details/6223052 一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery ...

  4. JavaScript 中实现 sleep

    来自推特上 Windows 故障分析的笑话 图片来源:me.me 推上看到的笑话,Windows 故障分析的实现. 然后想起来 JavaScript 中如何实现这个 sleep() 函数让代码暂停指定 ...

  5. react antD moment

    import moment from 'moment' console.log(moment().add(1, 'days').format('YYYY-MM-DD')) //当前时间前一天 cons ...

  6. 数字图像处理技术在TWaver可视化中的应用

    数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.常用的图像处理方法有图像增强.复原.编码.压缩等,数 ...

  7. ionic3开发环境搭建与配置(win10系统)

    1.安装nodeJS(不会的自行百度) 2.安装ionic和cordova,执行以下命令: npm install -g ionic cordova 3.安装Java JDK: 下载地址:http:/ ...

  8. 【计算几何】二维凸包——Graham's Scan法

    凸包 点集Q的凸包(convex hull)是指一个最小凸多边形,满足Q中的点或者在多边形边上或者在其内.右图中由红色线段表示的多边形就是点集Q={p0,p1,...p12}的凸包. 一组平面上的点, ...

  9. zabbix+docker

    由于公司线上服务器数量太少,又要用于生产,领导让上zabbix,但熟知zabbix搭建需要LAMP或者LNMP,如果和生产服务器混搭的话,不方便管理,也怕出问题,所以就先使用docker方式搭建管理. ...

  10. 计算机网络篇(前端、HTTP)

    全端工程师需知道的计算机网络知识 一.网络篇-http报文详解 1. 分类 请求报文 响应报文 2. 报文结构 (一).请求报文 一个HTTP请求报文由请求行(request line).请求头部(h ...