Java Swing界面编程(27)---JRadioButton事件处理
在单选button操作中。能够使用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.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton; class MyRadio1 implements ItemListener {
private String right = "f:" + File.separator + "2.png";// 定义图片路径
private String wrong = "f:" + File.separator + "3.png";// 定义图片路径
private JFrame frame = new JFrame("Beyole");// 定义窗口
private Container container = frame.getContentPane();// 得到窗口容器
private JRadioButton jb1 = new JRadioButton("男", new ImageIcon(right), true);
private JRadioButton jb2 = new JRadioButton("女", new ImageIcon(wrong),
false);
private JPanel panel = new JPanel();// 定义一个面板 public MyRadio1() {
panel.setBorder(BorderFactory.createTitledBorder("选择性别"));// 定义一个面板的边框显示条
panel.setLayout(new GridLayout(1, 3));// 定义排版,一行三列
ButtonGroup group = new ButtonGroup();// 定义一个button组
group.add(this.jb1);// 将单选button组增加到一个组
group.add(this.jb2);// 将单选button组增加到一个组
panel.add(this.jb1);// 将单选button增加到面板其中
panel.add(this.jb2);// 将单选button增加到面板其中
jb1.addItemListener(this);// 增加监听事件
jb2.addItemListener(this);// 增加监听事件
container.add(panel);// 增加面板到容器中
this.frame.setSize(200, 100);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent arg0) {
System.exit(1);
}
});
} public void itemStateChanged(ItemEvent e) {
if (e.getSource() == jb1) {
jb1.setIcon(new ImageIcon(right));
jb2.setIcon(new ImageIcon(wrong));
} else {
jb2.setIcon(new ImageIcon(right));
jb1.setIcon(new ImageIcon(wrong));
}
}
} public class JRadioButtonDemo1 {
public static void main(String[] args) {
new MyRadio1();
}
}
以上程序。使用ImageIcon设置了两个单选button的图片,每次选项改变后都会触发itemStateChanged事件,之后改动每一个选项的显示图片。
程序截图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVlamlhd2VpMTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVlamlhd2VpMTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
Java Swing界面编程(27)---JRadioButton事件处理的更多相关文章
- Java Swing界面编程(29)---JCheckBox事件处理
JCheckBox和JRadioButton的事件处理监听接口是一样的,都是使用ItemListener接口. package com.beyole.util; import java.awt.Con ...
- 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界面编程(21)---事件处理:窗口事件
WindowLIstener是专门处理窗口的事件监听窗口.一个窗口的全部变化.如窗口的打开.关闭等都能够使用这个接口进行监听. 实现WIndowListener: package com.beyole ...
- Java Swing界面编程(25)---事件处理:鼠标事件及监听处理
假设想对一个鼠标的操作进行监听,假设鼠标按下.松开等.则能够使用MouseListener接口. package com.beyole.util; import java.awt.event.Mous ...
- Java Swing界面编程(28)---复选框:JCheckBox
程序能够通过JRadioButton实现单选button的功能,那么要实现复选框的功能,则必须使用JCheckBox完毕. package com.beyole.util; import java.a ...
- Java Swing界面编程(18)---单行文本输入组件:JTextField
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xuejiawei123/article/details/27565407 下面的程序与上一例有一点差 ...
- Java AWT组件开发和Swing界面编程
一.AWT组件开发 1.AWT AWT是抽象窗口工具箱的缩写,它为编写图形用户界面提供了用户接口,通过这个接口就可以继承很多方法,省去了很多工作.AWT还能使应用程序更好地同用户进行交互. AWT中的 ...
随机推荐
- 清除mac上安装软件的用户信息
有时候在mac系统上安装了一些软件后,尽管你将该软件卸载之后,可是原来的登录信息依然存在, 那么你就可以到下面的这个目录中查看一下,是否残留有信息文件.
- iOS动画一点也不神秘————你是喜欢看幻灯片?还是看高清电影?
iOS设备在平均线上硬件比andorid设备良好许多,尤其是内存和CPU,所以iOS应用里面有大量动画交互效果的交互,这是每个用户都喜悦的,如果每个操作对应界面来讲都是直接变化,那变得十分地生硬. 你 ...
- RDLC报表系列(一) 简单的动态数据绑定和配置
RDLC系列链接 RDLC报表系列(一) 简单的动态数据绑定和配置 RDLC报表系列(二) 行分组 RDLC报表系列(三) 总计和折叠 RDLC报表系列(四) 矩阵 RDLC报表系列(五) 简单的图 ...
- java中关于String 类型数据 的存储方式
Constant Pool常量池的概念: 在讲到String的一些特殊情况时,总会提到String Pool或者Constant Pool,但是我想很多人都不太 明白Constant Pool到底是个 ...
- WindowsAPI一日一练
1.SetWindowLong和GetWindowLong 函数原型: LONG SetWindowLong( __in HWND hWnd, __in int nIndex, __in LONG d ...
- HAProxy+Keepalived+PXC负载均衡和高可用的PXC环境
HAProxy介绍 反向代理服务器,支持双机热备支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服 ...
- [转]activiti5用户任务分配
用户任务分配办理人:1.用户任务可以直接分配给一个用户,这可以通过humanPerformer元素定义. humanPerformer定义需要一个 resourceAssignmentExpressi ...
- canvas认识
1使用canvas绘制一个矩形 <canvas id="canvas" width="640" height="360">< ...
- android 图片合成
package com.ebensz.eink.demo; import java.io.File; import java.io.FileOutputStream; import android.a ...
- wampserver 2.2装好后80端口未被占用,却打不开localhost
在windows server 2003中装好wampserver2.2后打不开localhost,点击服务全部启动(颜色是橙色)也是打不开,我解决的原因是:安装mysql中sevice中的安装测试服 ...