Java Swing界面编程(29)---JCheckBox事件处理
JCheckBox和JRadioButton的事件处理监听接口是一样的,都是使用ItemListener接口。
package com.beyole.util; import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File; import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel; class MyItemListener implements ItemListener {
private String right = "f:" + File.separator + "2.png";
private String wrong = "f:" + File.separator + "3.png"; public void itemStateChanged(ItemEvent e) {
JCheckBox jcb = (JCheckBox) e.getItem();// 将得到的事件强制转化为JCheckBox类
if (jcb.isSelected()) {// 推断是否被选择
jcb.setIcon(new ImageIcon(right));// 改动图片
} else {
jcb.setIcon(new ImageIcon(wrong));// 改动图片
}
}
} class MyCheckBox1 {
private String wrong = "f:" + File.separator + "3.png";// 定义图片路径
private JFrame frame = new JFrame("Beyole");// 定义窗口
private Container container = frame.getContentPane();// 得到窗口容器
private JCheckBox jcb1 = new JCheckBox("主站", new ImageIcon(wrong));
private JCheckBox jcb2 = new JCheckBox("论坛", new ImageIcon(wrong));
private JCheckBox jcb3 = new JCheckBox("博客", new ImageIcon(wrong));
private JPanel panel = new JPanel();// 定义一个面板 public MyCheckBox1() {
panel.setBorder(BorderFactory.createTitledBorder("请选择你最喜欢的站点"));// 定义一个边框的显示条
panel.setLayout(new GridLayout(1, 3));// 定义排版 1行3列
panel.add(this.jcb1);// 增加组件
panel.add(this.jcb2);// 增加组件
panel.add(this.jcb3);// 增加组件
jcb1.addItemListener(new MyItemListener());// 增加监听
jcb2.addItemListener(new MyItemListener());// 增加监听
jcb3.addItemListener(new MyItemListener());// 增加监听
container.add(panel);// 增加面板
this.frame.setSize(330, 100);// 定义窗口大小
this.frame.setVisible(true);// 显示窗口
this.frame.addWindowListener(new WindowAdapter() {// 增加事件监听
public void windowClosing(WindowEvent arg0)// 复写窗口关闭方法
{
System.exit(1);// 系统退出
}
});
}
} public class JCheckBoxDemo02 {
public static void main(String[] args) {
new MyCheckBox1();
}
}
此程序的功能和JRadioButton的事件监听操作很相似,当选择好选项之后依据选定的状态设置其显示的图片。
程序截图:
Java Swing界面编程(29)---JCheckBox事件处理的更多相关文章
- Java Swing界面编程(27)---JRadioButton事件处理
在单选button操作中.能够使用ItemListener接口进行事件的监听. package com.beyole.util; import java.awt.Container; import j ...
- Java Swing界面编程(1)
写多了jsp,对于页面式的系统已经写烦了,本人也開始着手于java swing的学习,作为菜鸟,仅想用博客记录下我的swing学习的历程.话不多说,首先開始我的第一个窗体化程序. 下面给出源码: pa ...
- Java Swing界面编程(31)---菜单条:JMenu
package com.beyole.test; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMe ...
- Java Swing界面编程(22)---事件处理:动作事件及监听处理
要想让一个button变得有意义,就必须使用事件处理.在swing的事件处理中.能够使用ActionListener接口处理button的动作事件. package com.beyole.util; ...
- Java Swing界面编程(28)---复选框:JCheckBox
程序能够通过JRadioButton实现单选button的功能,那么要实现复选框的功能,则必须使用JCheckBox完毕. package com.beyole.util; import java.a ...
- Java Swing界面编程(21)---事件处理:窗口事件
WindowLIstener是专门处理窗口的事件监听窗口.一个窗口的全部变化.如窗口的打开.关闭等都能够使用这个接口进行监听. 实现WIndowListener: package com.beyole ...
- Java Swing界面编程(25)---事件处理:鼠标事件及监听处理
假设想对一个鼠标的操作进行监听,假设鼠标按下.松开等.则能够使用MouseListener接口. package com.beyole.util; import java.awt.event.Mous ...
- Java Swing界面编程(18)---单行文本输入组件:JTextField
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xuejiawei123/article/details/27565407 下面的程序与上一例有一点差 ...
- Java AWT组件开发和Swing界面编程
一.AWT组件开发 1.AWT AWT是抽象窗口工具箱的缩写,它为编写图形用户界面提供了用户接口,通过这个接口就可以继承很多方法,省去了很多工作.AWT还能使应用程序更好地同用户进行交互. AWT中的 ...
随机推荐
- KMP小结
1. KMP模版: 代表题目:POJ 3641 Oulipo KMP http://blog.csdn.net/murmured/article/details/12871891 char P[MAX ...
- [React] Setup 'beforeunload' listener
In this lesson we'll show how to take a beforeUnload call and convert it to a declarative React Comp ...
- JVM调优基础 分类: B1_JAVA 2015-03-14 09:33 250人阅读 评论(0) 收藏
一.JVM调优基本流程 1.划分应用程序的系统需求优先级 2.选择JVM部署模式:单JVM.多JVM 3.选择JVM运行模式 4.调优应用程序内存使用 5.调优应用程序延迟 6.调优应用程序吞吐量 二 ...
- window.onload,<body onload="function()">, document.onreadystatechange, httpRequest.onreadystatechang 分类: C1_HTML/JS/JQUERY 2014-08-06 16:47 558人阅读 评论(0) 收藏
部分内容参考:http://www.aspbc.com/tech/showtech.asp?id=1256 在开发的过程中,经常使用window.onload和body onload两种,很少使用do ...
- 跟我学AngularJs:Service、Factory、Provider依赖注入使用与差别
林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 本教程使用AngularJs版本号:1.5.3 AngularJ ...
- p2p网贷系统的架构设计
p2p网贷系统,标准版已经初步完成了. 最近写点总结,也算是分享吧. 简介:p2p网贷系统,是理财类的互联网金融系统.核心功能,就是理财人用户注册,冲钱,然后投标,标到期之后,收到回款.如果不想 ...
- Spring mvc 多文件上传
http://blog.csdn.net/swingpyzf/article/details/20230865
- Android自定义控件View(二)继承控件
在前一篇博客中学习了Android自定义控件View的流程步骤和注意点,不了解的童鞋可以参考Android自定义控件View(一).这一节开始学习自定义控件View(二)之继承系统已有的控件.我们来自 ...
- amazeui-js插件-ui增强-日期组件如何使用(把实例做一下)
amazeui-js插件-ui增强-日期组件如何使用(把实例做一下) 一.总结 一句话总结:需要jquery.js和amazeui.js一切才能使用 1.amazeui中的各种js效果要怎么才能使用? ...
- Gson的使用(JsonObject)
在Java开发互联网应用系统的过程中,数据的传递与转换是经常使用的,我在开发的过程中用的最多的是google的Gson,现就其使用的过程中的注意点做一个总结(当然首先要先去下载Gson的jar包,附件 ...