在单选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中的 ...
随机推荐
-
NotePad++中JSLint的使用
1.第一步下载Notepad++ 2.安装JSLint插件 3.运行JSlint 4.前提是你设置了当前语言或者本身文件就是js 5.JSLint的作用主要就是检查你的JS的规则正确性(至少是绝大部分 ...
-
ajax无刷新获取php后台数据
$.ajax({ url:"result.php", //data:{"page":i}, dataType:"json", beforeS ...
-
String.Join 和 Distinct 方法 去除字符串中重复字符
Qualys项目中写到将ServerIP以“,”分割后插入数据库并将重复的IP去除后发送到服务器进行Scan,于是我写了下面的一段用来剔除重复IP: //CR#1796870 modify by v- ...
-
MongoDB 安装和即基本操作
http://www.mongodb.org/ Agile and Scalable MongoDB (from "humongous") is an open-source do ...
-
LINUX ulimit命令
概述 系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段.ulimit 是一 ...
-
Socket 死连接详解
Socket 死连接详解 当使用 Socket 进行通信时,由于各种不同的因素,都有可能导致死连接停留在服务器端,假如服务端需要处理的连接较多,就有可能造成服务器资源严重浪费,对此,本文将阐述其原理以 ...
-
Ajax 生成流文件下载 以及复选框的实现
JQuery的ajax函数的返回类型只有xml.text.json.html等类型,没有“流”类型,所以我们要实现ajax下载,不能够使用相应的ajax函数进行文件下载.但可以用js生成一个form, ...
-
Xcode 打包(Shell)
1. xcodebuild 1.1 查当前可用的 sdk $xcodebuild -showsdks 1.2 查看所支持的target $xcodebuild -target 1.2 清空当前编译的a ...
-
f5 SNAT
request过程: 1.真实源地址(3.3.3.3)将数据包发给f5虚拟的vs地址(1.1.1.5:80): 2.f5将真实源地址(3.3.3.3)转换成SNAT地址(1.1.1.100),并将vs ...
-
JDBC改进版
将setObject隐藏,用反射获取model里面的数据 /** * @Date 2016年7月19日 * * @author Administrator */ package com.eshore. ...