Java 入門圖形用戶界面設(shè)計之單選按鈕
Java程序設(shè)計 圖形用戶界面 【九】單選按鈕
單選按鈕 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) | 設(shè)置是否選中 |
| public boolean isSelected() | 返回是否被選中 |
| public void setText(String text) | 設(shè)置顯示文本 |
| public void setIcon(Icon defaultIcon) | 設(shè)置圖片 |
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);
將按鈕添加到同一個組中實現(xiàn)單選功能
JRadioButton事件處理
使用ItemListener接口進行事件的監(jiān)聽
| 方法 | 作用 |
|---|---|
| void itemStateChanged(ItemEvent e) | 當(dāng)用戶取消或選定某個選項時調(diào)用 |
ItemEvent類
| 方法&常量 | 類型 | 作用 |
|---|---|---|
| public static final int SELECTED | 常量 | 選項被選中 |
| public static final int DESELECTED | 常量 | 選項未被選中 |
| public Object getItem() | 方法 | 返回受事件影響的選項 |
| public int getStateChange() | 方法 | 返回選定狀態(tài)的類型(已選擇或已取消) |
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();
}
}


到此這篇關(guān)于Java 入門圖形用戶界面設(shè)計之單選按鈕的文章就介紹到這了,更多相關(guān)Java 單選按鈕內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java后端產(chǎn)生驗證碼后臺驗證功能的實現(xiàn)代碼
這篇文章主要介紹了Java后臺產(chǎn)生驗證碼后臺驗證功能,本文文字結(jié)合實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06
在spring?boot3中使用native?image的最新方法
這篇文章主要介紹了在spring?boot3中使用native?image?,今天我們用具體的例子來給大家演示一下如何正確的將spring boot3的應(yīng)用編譯成為native image,需要的朋友可以參考下2023-01-01
深入解析Spring Cloud內(nèi)置的Zuul過濾器
這篇文章主要給大家深入的介紹了Spring Cloud內(nèi)置的Zuul過濾器的相關(guān)資料,文中給大家介紹的很詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-02-02
淺談為什么阿里巴巴要禁用Executors創(chuàng)建線程池
這篇文章主要介紹了淺談為什么阿里巴巴要禁用Executors創(chuàng)建線程池,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
Maven+Tomcat8 實現(xiàn)自動化部署的方法
本篇文章主要介紹了Maven+Tomcat8 實現(xiàn)自動化部署的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
java識別一篇文章中某單詞出現(xiàn)個數(shù)的方法
這篇文章主要介紹了java識別一篇文章中某單詞出現(xiàn)個數(shù)的方法,涉及java字符解析操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10
Java如何使用Iterator迭代器刪除集合重復(fù)選項
這篇文章主要介紹了Java如何使用Iterator迭代器刪除集合重復(fù)選項,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02
詳解Spring Boot + Mybatis 實現(xiàn)動態(tài)數(shù)據(jù)源
這篇文章主要介紹了Spring Boot + Mybatis 實現(xiàn)動態(tài)數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

