[的Java Swing] 一个JRadioButton Java中 – 一个JRadioButton在java中
内容
创建一个JRadioButton
一个JRadioButton投入组
获取事件一个JRadioButton
一个JRadioButton是一个对象,允许我们选择脆如属性 JCheckBox的. 然而,我们倾向于使用一个JRadioButton当用户想要只选择属性之一. 例如,用户选择性别只是选择了为M或F.
如何创建一个JRadioButton – 如何创建一个JRadioButton
要创建一个JRadioButton我们用下面的构造函数之一:
– 一个JRadioButton(): 创建一个JRadioButton没有文本, 没有预选.
– 一个JRadioButton(行动): 创建一个JRadioButton所述事件的
– 一个JRadioButton(图标图标): 用图标创建一个JRadioButton
– 一个JRadioButton(图标图标, 布尔选择): 与选定的图标创建一个JRadioButton设置与否
– 一个JRadioButton(文本字符串): 文本创建一个JRadioButton
– 一个JRadioButton(文本字符串, 布尔选择): 与文本创建一个JRadioButton并设置被选择或不
– 一个JRadioButton(文本字符串, 图标图标): 创建文字和图标一个JRadioButton
– 一个JRadioButton(文本字符串, 图标图标, 布尔选择): 文本创建一个JRadioButton, 图标和看跌期权.
现在,我们将执行创建 的JFrame 含 2 男孩和女孩的一个JRadioButton (男孩被默认选中) 同 1 的JLabel 选择一个JRadioButton当执行显示器的显示效果.
package nguyenvanquan7826.JRadioButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; public class MyRadioButton extends JFrame { private JRadioButton radBoy, radGirl; private JLabel lbGender; public MyRadioButton() { // add main panel add(createMainPanel()); // set display setTitle("JRadioButton"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(200, 100); setLocationRelativeTo(null); setVisible(true); } // create main panel private JPanel createMainPanel() { JPanel panel = new JPanel(); // add two radiobutton and a label to frame panel.add(radBoy = createRadioButton("Boy", true)); panel.add(radGirl = createRadioButton("Girl", false)); panel.add(lbGender = createLabel("You are a boy")); return panel; } // create a JRadioButton with name private JRadioButton createRadioButton(String name, boolean select) { JRadioButton rad = new JRadioButton(name, select); return rad; } // create a JLabel with text private JLabel createLabel(String text) { JLabel lb = new JLabel(text); return lb; } public static void main(String[] args) { new MyRadioButton(); } }
已经作出一个JRadioButton, 但是,当你选择性别,也没有什么用JLabel的现象发生, 即使是在同一时间可以选择两种 2 一个JRadioButton. 那么如何只能选择一个JRadioButton? 如何获得一个JRadioButton事件?
一个JRadioButton投入组 – 设置组一个JRadioButton
为了做到这一点只允许用户选择一个JRadioButton之一我们需要把成组一个JRadioButton – ButtonGroup中. 这意味着我们需要创建一个ButtonGroup中,并把它们变成的ButtonGroup. 您编辑方法的代码 createMainPanel() 如下:
private JPanel createMainPanel() { JPanel panel = new JPanel(); // add two radiobutton and a label to frame panel.add(radBoy = createRadioButton("Boy", true)); panel.add(radGirl = createRadioButton("Girl", false)); panel.add(lbGender = createLabel("You are a boy")); // create ButtonGroup for radBoy and radGirl ButtonGroup genderGroup = new ButtonGroup(); // add radBoy and radGirl into Group genderGroup.add(radBoy); genderGroup.add(radGirl); return panel; }
获取事件一个JRadioButton – 上一个JRadioButton行动
接下来的活动将是一个JRadioButton启动, 它是类似于JCheckBox的捕获事件. 我们需要 接口实现的ItemListener 执行 addItemListener 对于一个JRadioButton. 其次是写作方法 itemStateChanged 抓事件. 检查一个JRadioButton该方法被选中或不 isSelected().
我们更新方法 createRadioButton 如下:
private JRadioButton createRadioButton(String name, boolean select) { JRadioButton rad = new JRadioButton(name, select); rad.addItemListener(this); return rad; }
下一个事件在捕获方法 itemStateChanged
private void changeSelect() { lbGender.setText("You are a " + (radBoy.isSelected() ? "boy" : "girl")); } @Override public void itemStateChanged(ItemEvent e) { changeSelect(); }
我们完整的代码如下:
package nguyenvanquan7826.JRadioButton; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; public class MyRadioButton extends JFrame implements ItemListener { private JRadioButton radBoy, radGirl; private JLabel lbGender; public MyRadioButton() { // add main panel add(createMainPanel()); // set display setTitle("JRadioButton"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(200, 100); setLocationRelativeTo(null); setVisible(true); } // create main panel private JPanel createMainPanel() { JPanel panel = new JPanel(); // add two radiobutton and a label to frame panel.add(radBoy = createRadioButton("Boy", true)); panel.add(radGirl = createRadioButton("Girl", false)); panel.add(lbGender = createLabel("You are a boy")); // create ButtonGroup for radBoy and radGirl ButtonGroup genderGroup = new ButtonGroup(); // add radBoy and radGirl into Group genderGroup.add(radBoy); genderGroup.add(radGirl); return panel; } // create a JRadioButton with name private JRadioButton createRadioButton(String name, boolean select) { JRadioButton rad = new JRadioButton(name, select); rad.addItemListener(this); return rad; } // create a JLabel with text private JLabel createLabel(String text) { JLabel lb = new JLabel(text); return lb; } private void changeSelect() { lbGender.setText("You are a " + (radBoy.isSelected() ? "boy" : "girl")); } @Override public void itemStateChanged(ItemEvent e) { changeSelect(); } public static void main(String[] args) { new MyRadioButton(); } }
阅读更多: 类一个JRadioButton, 使用一个JRadioButton
让我问 :甚至当我有一个数组一个JRadioButton,如何捕捉事件的每个元素的数组是ItemListenner?
如果他们能赶上的元素尽可能多的休闲按钮磁带addActionListener方法,方式.
让我问你有 3 当你踢的,但不同的人Button按钮,选择JRadioButton将改变他们必须如何.
你开始时它. Trong onclick thay đổi radio select là được.
em vẫn không hiểu anh à 😀 anh có thể viết ra cho em xem được không
a ơi cho e hỏi với ạ. để bắt sự kiện cho radiobutton mà khi ấn chọn sẽ mở ra một giao diện khác thì như thế nào ạ?
Bạn làm như với JButton
a ơi e dùng RadiobuttonMenuItem vì dùng nhiều nút. e bắt thế này mà chạy n k ra. @覆盖
公共无效itemStateChanged(ItemEvent和) {
如果(rb1.isSelected()){
LopClient1 C =新LopClient1();
}
}
你试试addActionPerfrom视图
哦,她出现了,他想重新设置为默认值 2 按钮a.k假的,如何初始化设置为明星作为他的愿望启动A A nhe.e初始值
您离线setSelect吧
文章清楚地理解教程. 非常感谢