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);
將按鈕添加到同一個組中實現(xiàn)單選功能
JRadioButton事件處理
使用ItemListener接口進行事件的監(jiān)聽
方法 | 作用 |
---|---|
void itemStateChanged(ItemEvent e) | 當用戶取消或選定某個選項時調(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 入門圖形用戶界面設計之單選按鈕的文章就介紹到這了,更多相關(guān)Java 單選按鈕內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中sleep()與wait()的區(qū)別總結(jié)
因為最近學習時正好碰到這兩個方法,就查閱相關(guān)資料,并通過程序?qū)崿F(xiàn),進行區(qū)別總結(jié)一下,所以下面這篇文章主要給大家總結(jié)介紹了關(guān)于Java中sleep()與wait()區(qū)別的相關(guān)資料,需要的朋友可以參考,下面來一起看看吧。2017-05-05使用Java servlet實現(xiàn)自動登錄退出功能
這篇文章主要介紹了使用Java servlet實現(xiàn)自動登錄退出功能,,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11Windows中使用Java生成Excel文件并插入圖片的方法
這篇文章主要介紹了Windows中使用Java生成Excel文件并插入圖片的方法,其中向Excel中插入圖片文中通過使用Apache POI來實現(xiàn),需要的朋友可以參考下2016-02-02Java實戰(zhàn)之在線租房系統(tǒng)的實現(xiàn)
這篇文章主要介紹了利用Java實現(xiàn)的在線租房系統(tǒng),文中用到了SpringBoot、Redis、MySQL、Vue等技術(shù),文中示例代碼講解詳細,需要的可以參考一下2022-02-02