博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理
2019独角兽企业重金招聘Python工程师标准>>>
博为峰小博老师:
在JList类中有addListSelectionListener()方法,可以检测用户是否对JList的选取有任何的改变。在ListSelectionListener接口中只定义一个方法,那就是valueChanged(ListSelectionEvente),所以必须实现这个方法,才能在用户改变选取值时取得用户最后的选取状态。
这个程序首先使用数组创建了一个列表框对象,然后再通过实现列表框的事件处理方法,让列表框中选项被选中时在标签组件中显现出来,其代码程序如下所示:
public class BWF implements ListSelectionListener{
static JList<String> list=null;
static JLabel label=null;
public static void main(String[] args) {
JFrame jf=new JFrame("博为峰教育");
Container contentPane=jf.getContentPane();
ListModel<String> mode=new DataModel();
label=new JLabel();
list=new JList<String>(mode);
list.setVisibleRowCount(5);
list.setBorder(BorderFactory.createTitledBorder("电脑配件"));
list.addListSelectionListener(new BWF());
contentPane.add(label,BorderLayout.NORTH);
contentPane.add(new JScrollPane(list),BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
jf.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void valueChanged(ListSelectionEvent e) {
int tmp=0;
String stmp="您目前选取:";
int[] index=list.getSelectedIndices();//所选数据的序列号
for(int i=0;i<index.length;i++){
tmp=index[i];
stmp+=new DataModel().s[tmp]+" ";
}
label.setText(stmp);
}
}
class DataModel extends AbstractListModel<String>{
public static String[] s={"主板","显示器","内存","CPU","硬盘","电源","键盘","鼠标","显卡"};
public int getSize() {
return s.length;
}
public String getElementAt(int index) {
return (index+1)+"."+s[index++];
}
}
转载于:https://my.oschina.net/u/2971691/blog/850727
博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理相关推荐
- java组合框的事件有哪些_博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理...
博为峰小博老师: 在JList类中有addListSelectionListener()方法,可以检测用户是否对JList的选取有任何的改变.在ListSelectionListener接口中只定义一 ...
- 博为峰Java技术文章 ——JavaSE Swing JPanel III
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 上篇文章程序实例中,建立了6个面板容器类,分别是contentPane.p1.p2.p3.p4. p5,其中 ...
- 博为峰Java技术文章 ——JavaSE Swing FlowLayout布局管理器I
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 这种布局管理器的策略也非常简单,它是按照控件加入的先后顺序从左到右排列,一行排满了,再换下一行,然后在从左到 ...
- 博为峰Java技术文章 ——JavaSE Swing 如何使用进度条组件JProgressBarⅡ
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 使用构造器JProgressBar(int orient)来创建进度条.其具体的实例代码如下: public ...
- 博为峰Java技术题 ——JavaSE Java Swing组件类的层次
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 下图讲述Swing组件类的层次,如图: 从以上的结构示意图中可以知道,Swing组件可以分成两种类型,一种是 ...
- 博为峰Java技术题 ——JavaSE 类加载器Ⅰ
2019独角兽企业重金招聘Python工程师标准>>> [类加载器简介] 博为峰小博老师: 类加载器负责将.class文件加载到内存中,并为之生成相应的java.lang.Class ...
- 博为峰Java技术题 ——JavaSE Java 方法Ⅰ
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 我们经常使用到 System.out.println(),那么它是什么呢? l println() 是一个方 ...
- 博为峰Java技术题 ——JavaSE Java 方法Ⅲ
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: [void 关键字] 下面的例子声明了一个名为 printGrade 的方法,并且调用它来打印给定的分数. ...
- 博为峰Java技术文章 ——JavaEE Hibernate HQL条件查询
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 条件查询在实际应用中比较广泛,通常使用条件查询过滤数据库返回的查询数据,因为一个表中的所有数据并不一定对用户 ...
最新文章
- 网络爬虫(Web crawler)|| 爬虫入门程序
- vue 自己写上传excel组件_vue结合elementui组件 el-upload 上传excel表格(二)
- xp下设置文件的权限(转)
- 工作104:vuex很强大
- update set操作 根据变量选择colum
- install memcached for ubuntu
- 滑动平均_善杰告诉您初中物理学滑动变阻器的各种作用
- mvc:annotation-driven/与mvc:default-servlet-handler/之间的一个问题
- 第三章 3.3 DI自动装配 --《跟我学Spring》笔记 张开涛
- 对计算机硬盘进行格式化时,在安装操作系统之前,如何对硬盘进行分区和格式化(新手必看)...
- HbuilderX中 华为手机 真机调试
- Zookeeper+ActiveMQ集群搭建
- Windows网络笔记-台式机通过网线直连笔记本,台式机通过笔记本上网(win10)
- 语音处理/语音识别基础(五)- 声音的音量,过零率,音高的计算
- jupyter notebook修改字体
- DAPM之四:dapm机制深入分析(下)
- unity3d优化收集摘录
- 你了解净水器滤芯知识多少?
- 中小初创企业网站,该怎么做SEO优化
- ASP.NET MVC 文件上传和文件下载 以及 文件下载的几种方法
热门文章
- TotoiseSVN的基本使用方法
- flappy bird游戏源代码揭秘和下载后续---移植到android真机上
- php js实现异步图片上传,使用php+js异步上传图片
- 安卓导航车机root方法_安卓手机设置充电提示音教程来了!教你三种方法,无需 ROOT!...
- oracle期末重点,oracle期末复习题及答案
- ​HealthKit开发快速入门教程之HealthKit数据的操作
- wps保存的csv文件是什么编码的_Python文件读写详解.md
- 32位汇编语言helloworld_梦开始的地方——Hello World!
- pyinstaller打包py文件生成的exe出现闪退问题
- python读取.locs文件