本文是自己学习所做笔记,欢迎转载。但请注明出处: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# 访问mongodb数据库

    1.引用四个mongodb动态库MongoDB.Bson.dll,MongoDB.Driver.Core.dll,MongoDB.Driver.dll,MongoDB.Driver.Legacy.dl ...

  2. Java 遍历Map对象的4种方法

    http://blog.csdn.net/tjcyjd/article/details/11111401

  3. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(249,5): error MSB6006: “CL.exe”已退出,代码为 -1073741515。

    解决: Add this to your PATH environment variables: C:\Program Files (x86)\Microsoft Visual Studio 11.0 ...

  4. npm install的时候报错 npm err code 1

    在学习vue的时候,npm install的时候报错  npm err code 1,当时很郁闷,是‘vue init webpack my-project’命令新建的模版项目 ,怎么会报错,第一次遇 ...

  5. 华硕(ASUS)X554LP笔记本重装win7后网卡和USB驱动问题的解决

    以前在其它笔记本上采用U盘克隆安装winxp系统非常顺利,各种硬件驱动能自动识别并安装. 手上有一台别人的华硕(ASUS)X554LP笔记本,原装win8.1,用不惯,想装个win7旗舰版. 照例去系 ...

  6. rem布局进入页面样式错乱解决

    开发项目时候第一次遇到rem布局进入页面瞬间样式错乱问题: //该段js为rem布局应用 如10px = 0.1rem; (function(doc, win) { var docEl = doc.d ...

  7. Masonry 原理一

    Under the hood Auto Layout is a powerful and flexible way of organising and laying out your views. H ...

  8. CAD控件:网上打开dwg文件时,对dwg文件路径加密的功能

    梦想CAD控件2015.03.12最新更新  1. 增加控件状态栏文字,自定义功能,        C++接口为 :   CStatusBarInformationReactor::CreatePro ...

  9. UVALIVE6886 Golf Bot (FFT)

    题意:打高尔夫 给你n个距离表示你一次可以把球打远的距离 然后对于m个询问 问能否在两杆内把球打进洞 题解:平方一下就好 注意一下x0的系数为1表示打一杆 才发现数组应该开MAXN * 4 之前写的题 ...

  10. HDU - 2041 - 超级楼梯(dp)

    题意: 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 思路: 如何到第n阶台阶,只能从n-1和n-2台阶上去,那么只需要计算到n-1阶台阶和到n-2阶台 ...