加入到ButtonGroup中的JRadioButton选择问题
一组JRadioButton按钮添加到一个ButtonGroup中,现在我想知道在这一组JRadioButton中哪一个被选中了。不要给JRadioButton添加监听器...
一组JRadioButton按钮添加到一个ButtonGroup中,现在我想知道在这一组JRadioButton中哪一个被选中了。
不要给JRadioButton添加监听器的答案哈,JRadioButton太多了 一一添加监听器不可取啊,有没有其他的办法呢?
我试了ButtonGroup.isSelected(JRadioButton.getModel()) == true这种方式,但是不能判断啊 不知道为什么
请高人解答
呵呵 ~首先谢谢二位 冰下沸水的方法一直行不通 错误原因总是出在Enumeration<AbstractButton> 这里提示错误为can't resolve symbol 导入了import java.util.Enumeration包也不行 不知道是不是IDE的缘故 因为貌似在NetBean环境下是完全可以的 郁闷~
同时谢谢 IT_Ivy。。 展开
不要给JRadioButton添加监听器的答案哈,JRadioButton太多了 一一添加监听器不可取啊,有没有其他的办法呢?
我试了ButtonGroup.isSelected(JRadioButton.getModel()) == true这种方式,但是不能判断啊 不知道为什么
请高人解答
呵呵 ~首先谢谢二位 冰下沸水的方法一直行不通 错误原因总是出在Enumeration<AbstractButton> 这里提示错误为can't resolve symbol 导入了import java.util.Enumeration包也不行 不知道是不是IDE的缘故 因为貌似在NetBean环境下是完全可以的 郁闷~
同时谢谢 IT_Ivy。。 展开
展开全部
今天试了下,这样子来:
Enumeration<AbstractButton> enu = buttonGroup.getElements();
while (enu.hasMoreElements()) {
AbstractButton radioButton = enu.nextElement();
System.out.println(radioButton.getName() + " : "
+ radioButton.isSelected());
}
这个radioButton.isSelected()就可以判断了。。如果不明白,HI我。我一直在的~
Enumeration<AbstractButton> enu = buttonGroup.getElements();
while (enu.hasMoreElements()) {
AbstractButton radioButton = enu.nextElement();
System.out.println(radioButton.getName() + " : "
+ radioButton.isSelected());
}
这个radioButton.isSelected()就可以判断了。。如果不明白,HI我。我一直在的~
展开全部
import ...
public class RadioButtonTest extends JPanel implements ItemListener {
ButtonGroup group;
ArrayList<ButtonModel> buttonModels;
public RadioButtonTest() {
this.setLayout(new FlowLayout());
group = new ButtonGroup();
buttonModels = new ArrayList<ButtonModel>();
for (int i = 1; i <= 5; i++) {
JRadioButton jrb1 = new JRadioButton("jrb" + String.valueOf(i));
jrb1.setActionCommand(String.valueOf(i));
jrb1.addItemListener(this);
group.add(jrb1);
buttonModels.add(jrb1.getModel());
this.add(jrb1);
}
}
public static void main(String[] args) {
RadioButtonTest radioButtonTest = new RadioButtonTest();
JFrame frame = new JFrame("TEST");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(radioButtonTest);
frame.setSize(500, 100);
frame.setVisible(true);
}
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
//方法1
JRadioButton jrb = (JRadioButton) e.getSource();
System.out.println(jrb.getActionCommand());
//方法2
ButtonModel selection = group.getSelection();
System.out.println(selection.getActionCommand());
//方法3
for (int i = 0; i < buttonModels.size(); i++) {
if (group.isSelected(buttonModels.get(i))) {
System.out.println(buttonModels.get(i).getActionCommand());
break;
}
}
}
}
}
不知道对你有没有帮助
1.radioButton再多也是可以添加监听器的吧,像我上面的代码;可以使用setActionCommand来帮助识别radioButton
2.如果你要通过group.isSelected来判断,前提是你记录了你的radioButton的ButtonModel,这样才能判断
public class RadioButtonTest extends JPanel implements ItemListener {
ButtonGroup group;
ArrayList<ButtonModel> buttonModels;
public RadioButtonTest() {
this.setLayout(new FlowLayout());
group = new ButtonGroup();
buttonModels = new ArrayList<ButtonModel>();
for (int i = 1; i <= 5; i++) {
JRadioButton jrb1 = new JRadioButton("jrb" + String.valueOf(i));
jrb1.setActionCommand(String.valueOf(i));
jrb1.addItemListener(this);
group.add(jrb1);
buttonModels.add(jrb1.getModel());
this.add(jrb1);
}
}
public static void main(String[] args) {
RadioButtonTest radioButtonTest = new RadioButtonTest();
JFrame frame = new JFrame("TEST");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(radioButtonTest);
frame.setSize(500, 100);
frame.setVisible(true);
}
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
//方法1
JRadioButton jrb = (JRadioButton) e.getSource();
System.out.println(jrb.getActionCommand());
//方法2
ButtonModel selection = group.getSelection();
System.out.println(selection.getActionCommand());
//方法3
for (int i = 0; i < buttonModels.size(); i++) {
if (group.isSelected(buttonModels.get(i))) {
System.out.println(buttonModels.get(i).getActionCommand());
break;
}
}
}
}
}
不知道对你有没有帮助
1.radioButton再多也是可以添加监听器的吧,像我上面的代码;可以使用setActionCommand来帮助识别radioButton
2.如果你要通过group.isSelected来判断,前提是你记录了你的radioButton的ButtonModel,这样才能判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询