Java 入门图形用户界面设计之单选按钮
作者:小旺不正经 发布时间:2023-08-29 13:40:02
标签:Java,单选按钮,图形用户界面
Java程序设计 图形用户界面 【九】单选按钮
单选按钮 JRadioButton
JRadioButton类
方法 | 作用 |
---|---|
public JRadioButton(Icon icon) | 建立一个单选按钮,并指定图片 |
public JRadioButton(Icon icon,boolean selected) | 建立一个单选按钮,并指定图片和其是否选定 |
public JRadioButton(String text) | 建立一个单选按钮,并指定其文字,默认不选定 |
public JRadioButton(String text,boolean selected) | 建立一个单选按钮,并指定文字和是否选定 |
public JRadioButton(String text,Icon icon,boolean selected) | 建立一个单选按钮,并指定图片、文字和其是否选定 |
public void setSelected(boolean b) | 设置是否选中 |
public boolean isSelected() | 返回是否被选中 |
public void setText(String text) | 设置显示文本 |
public void setIcon(Icon defaultIcon) | 设置图片 |
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class MyRadio{
private JFrame frame = new JFrame("一");
private Container cont = frame.getContentPane();
private JRadioButton jrb1 = new JRadioButton("1");
private JRadioButton jrb2 = new JRadioButton("2");
private JRadioButton jrb3 = new JRadioButton("3");
private JPanel pan = new JPanel();
public MyRadio(){
pan.setBorder(BorderFactory.createTitledBorder("请选择"));
pan.setLayout(new GridLayout(1,3));
pan.add(this.jrb1);
pan.add(this.jrb2);
pan.add(this.jrb3);
ButtonGroup group = new ButtonGroup();
group.add(this.jrb1);
group.add(this.jrb2);
group.add(this.jrb3);
cont.add(pan);
this.frame.setSize(330,80);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(1);
}
});
}
}
public class Hello {
public static void main(String[] args) {
new MyRadio();
}
}
ButtonGroup group = new ButtonGroup();
group.add(this.jrb1);
group.add(this.jrb2);
group.add(this.jrb3);
将按钮添加到同一个组中实现单选功能
JRadioButton事件处理
使用ItemListener接口进行事件的监听
方法 | 作用 |
---|---|
void itemStateChanged(ItemEvent e) | 当用户取消或选定某个选项时调用 |
ItemEvent类
方法&常量 | 类型 | 作用 |
---|---|---|
public static final int SELECTED | 常量 | 选项被选中 |
public static final int DESELECTED | 常量 | 选项未被选中 |
public Object getItem() | 方法 | 返回受事件影响的选项 |
public int getStateChange() | 方法 | 返回选定状态的类型(已选择或已取消) |
import javax.swing.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class MyRadio implements ItemListener{
private JLabel a = new JLabel("选中");
private JLabel b = new JLabel("未选中");
private JFrame frame = new JFrame("一");
private Container cont = frame.getContentPane();
private JRadioButton jrb1 = new JRadioButton("A",true);
private JRadioButton jrb2 = new JRadioButton("B",true);
private JPanel pan = new JPanel();
public MyRadio(){
ButtonGroup group = new ButtonGroup();
group.add(this.jrb1);
group.add(this.jrb2);
jrb1.addItemListener(this);
jrb2.addItemListener(this);
pan.setLayout(new GridLayout(1,4));
pan.add(this.a);
pan.add(this.jrb1);
pan.add(this.b);
pan.add(this.jrb2);
this.frame.add(pan);
this.frame.setSize(200,100);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(1);
}
});
}
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getSource()==jrb2){
a.setText("未选中");
b.setText("选中");
}else {
b.setText("未选中");
a.setText("选中");
}
}
}
public class Hello {
public static void main(String[] args) {
new MyRadio();
}
}
来源:https://blog.csdn.net/weixin_42403632/article/details/122908840
0
投稿
猜你喜欢
- 本文实例为大家分享了C#根据http和ftp地址获取对应图片的具体代码,供大家参考,具体内容如下public class GetBitmap
- 对象的读写使用ObjectInputStream和ObjectOutputStream读写对象(序列化与反序列化)。只有字节流没有字符流.类
- 引言最近一个朋友正在找工作,他说在笔试题中遇到Equals和==有什么区别的题,当时跟他说如果是值类型的,它们没有区别,如果是引用类型的有区
- For-Each循环For-Each循环也叫增强型的for循环,或者叫foreach循环。For-Each循环是JDK5.0的新特性(其他新
- 一.什么是泛型当我们不确定数据类型时,我们可以暂时使用一个字母 T代替数据类型。例如写一个方法,但是我们不知道它是传递的是什么数据类型,我们
- 先来了解一下什么是XMLType类型。XMLType是Oracle从9i开始特有的数据类型,是一个继承了Blob的强大存在,可以用来存储xm
- 场景需要判断,首字母是否是英文字母。有人说,那还不简单么,StringUtils.isAlpha() 就可以搞定。 笔者也是这么想的,结果却
- import java.io.BufferedReader;import java.io.File;import java.io.FileI
- JSON轻量级的数据交换格式相对于XML来说,JSON的解析速度更快,文档更小。JSON的格式{属性名:属性值,属性名:属性值,……}属性名
- 这篇文章主要介绍了mybatis使用pagehelper插件过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 下载Android SDK两种方式:(1)官网下载(需翻墙):https://developer.android.com/studio/in
- 一、题目描述题目实现:网络资源的断点续传功能。二、解题思路获取要下载的资源网址显示网络资源的大小上次读取到的字节位置以及未读取的字节数输入下
- 文件上传是开发中十分常见的功能,在servlet3.0之前,实现文件上传需要使用一些插件技术,比如:commons-fileuploadsm
- 消息的保存路径消息发送端发送消息到 broker 上以后,消息是如何持久化的?数据分片kafka 使用日志文件的方式来保存生产者和发送者的消
- 一、首先我们先创建一个Maven项目把我们需要的包先准备好 1.打开pom.xml文件引入依赖,以下是整个pom.xml文件<
- 本文以spring-boot-maven-plugin 2.5.4为例@Mojo defaultPhase以spring-boot-mave
- 使用WebClient和htmlunit实现简易爬虫import com.gargoylesoftware.htmlunit.WebClie
- hello,今天给大家带来一道算法题。这道算法题,是我目前为止,见过最难的一道题。那么到底是怎样的一道算法题呢?如下:题目:给定一个数组,
- 前言本身我是一个比较偏向少使用Stream的人,因为调试比较不方便。但是, 不得不说,stream确实会给我们编码带来便捷。Stream流
- 本文实例为大家分享了TabLayout结合ViewPager实现页面切换效果的具体代码,供大家参考,具体内容如下先看看效果,如图:1.因为T