Java 入门图形用户界面设计之单选按钮

 更新时间:2022年02月16日 15:18:02   作者:小旺不正经  
图形界面(简称GUI)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受,本篇精讲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();
    }
}

image-20220213140637190

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();
    }
}

image-20220213143404542

image-20220213143420956

到此这篇关于Java 入门图形用户界面设计之单选按钮的文章就介绍到这了,更多相关Java 单选按钮内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot中优化Undertow性能的方法总结

    SpringBoot中优化Undertow性能的方法总结

    Undertow是一个采用 Java 开发的灵活的高性能Web服务器,提供包括阻塞和基于NIO的非堵塞机制,本文将给大家介绍SpringBoot中优化Undertow性能的方法,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-08-08
  • SpringBoot Mybatis 配置文件形式详解

    SpringBoot Mybatis 配置文件形式详解

    这篇文章主要介绍了SpringBoot Mybatis 配置文件形式详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 详细介绍Java关键字throw throws Throwable的用法与区别

    详细介绍Java关键字throw throws Throwable的用法与区别

    这篇文章主要介绍了java中throws与throw及Throwable的用法和区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • springboot html调用js无效400问题及解决

    springboot html调用js无效400问题及解决

    这篇文章主要介绍了springboot html调用js无效400的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java知识点归纳总结

    Java知识点归纳总结

    本篇文章对Java的一些知识点进行了归纳总结分析。需要的朋友参考下
    2013-05-05
  • 在Mac上安装JDK21的详细流程

    在Mac上安装JDK21的详细流程

    在macOS上安装JDK(Java Development Kit)21是相对简单的过程,这篇文章主要给大家介绍了关于在Mac上安装JDK21的详细流程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • Session过期后实现自动跳转登录页面

    Session过期后实现自动跳转登录页面

    这篇文章主要介绍了Session过期后实现自动跳转登录页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • JAVA偏向锁的原理与实战

    JAVA偏向锁的原理与实战

    这篇文章主要为大家详细介绍了JAVA偏向锁的原理与实战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 简单解析execute和submit有什么区别

    简单解析execute和submit有什么区别

    这篇文章主要介绍了简单解析execute和submit有什么区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • java Socket无法完全接收返回内容的解决方案

    java Socket无法完全接收返回内容的解决方案

    这篇文章主要介绍了java Socket无法完全接收返回内容的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论