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列表框选取事件的处理相关推荐

  1. java组合框的事件有哪些_博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理...

    博为峰小博老师: 在JList类中有addListSelectionListener()方法,可以检测用户是否对JList的选取有任何的改变.在ListSelectionListener接口中只定义一 ...

  2. 博为峰Java技术文章 ——JavaSE Swing JPanel III

    2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 上篇文章程序实例中,建立了6个面板容器类,分别是contentPane.p1.p2.p3.p4. p5,其中 ...

  3. 博为峰Java技术文章 ——JavaSE Swing FlowLayout布局管理器I

    2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 这种布局管理器的策略也非常简单,它是按照控件加入的先后顺序从左到右排列,一行排满了,再换下一行,然后在从左到 ...

  4. 博为峰Java技术文章 ——JavaSE Swing 如何使用进度条组件JProgressBarⅡ

    2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 使用构造器JProgressBar(int orient)来创建进度条.其具体的实例代码如下: public ...

  5. 博为峰Java技术题 ——JavaSE Java Swing组件类的层次

    2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 下图讲述Swing组件类的层次,如图: 从以上的结构示意图中可以知道,Swing组件可以分成两种类型,一种是 ...

  6. 博为峰Java技术题 ——JavaSE 类加载器Ⅰ

    2019独角兽企业重金招聘Python工程师标准>>> [类加载器简介] 博为峰小博老师: 类加载器负责将.class文件加载到内存中,并为之生成相应的java.lang.Class ...

  7. 博为峰Java技术题 ——JavaSE Java 方法Ⅰ

    2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 我们经常使用到 System.out.println(),那么它是什么呢? l println() 是一个方 ...

  8. 博为峰Java技术题 ——JavaSE Java 方法Ⅲ

    2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: [void 关键字] 下面的例子声明了一个名为 printGrade 的方法,并且调用它来打印给定的分数. ...

  9. 博为峰Java技术文章 ——JavaEE Hibernate HQL条件查询

    2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 条件查询在实际应用中比较广泛,通常使用条件查询过滤数据库返回的查询数据,因为一个表中的所有数据并不一定对用户 ...

最新文章

  1. 网络爬虫(Web crawler)|| 爬虫入门程序
  2. vue 自己写上传excel组件_vue结合elementui组件 el-upload 上传excel表格(二)
  3. xp下设置文件的权限(转)
  4. 工作104:vuex很强大
  5. update set操作 根据变量选择colum
  6. install memcached for ubuntu
  7. 滑动平均_善杰告诉您初中物理学滑动变阻器的各种作用
  8. mvc:annotation-driven/与mvc:default-servlet-handler/之间的一个问题
  9. 第三章 3.3 DI自动装配 --《跟我学Spring》笔记 张开涛
  10. 对计算机硬盘进行格式化时,在安装操作系统之前,如何对硬盘进行分区和格式化(新手必看)...
  11. HbuilderX中 华为手机 真机调试
  12. Zookeeper+ActiveMQ集群搭建
  13. Windows网络笔记-台式机通过网线直连笔记本,台式机通过笔记本上网(win10)
  14. 语音处理/语音识别基础(五)- 声音的音量,过零率,音高的计算
  15. jupyter notebook修改字体
  16. DAPM之四:dapm机制深入分析(下)
  17. unity3d优化收集摘录
  18. 你了解净水器滤芯知识多少?
  19. 中小初创企业网站,该怎么做SEO优化
  20. ASP.NET MVC 文件上传和文件下载 以及 文件下载的几种方法

热门文章

  1. TotoiseSVN的基本使用方法
  2. flappy bird游戏源代码揭秘和下载后续---移植到android真机上
  3. php js实现异步图片上传,使用php+js异步上传图片
  4. 安卓导航车机root方法_安卓手机设置充电提示音教程来了!教你三种方法,无需 ROOT!...
  5. oracle期末重点,oracle期末复习题及答案
  6. ​HealthKit开发快速入门教程之HealthKit数据的操作
  7. wps保存的csv文件是什么编码的_Python文件读写详解.md
  8. 32位汇编语言helloworld_梦开始的地方——Hello World!
  9. pyinstaller打包py文件生成的exe出现闪退问题
  10. python读取.locs文件