编程语言
首页 > 编程语言> > java – 选择哪个JRadioButton

java – 选择哪个JRadioButton

作者:互联网

我在ButtonGroup中有几个JRadioButtons.

   private ButtonGroup radioGroup= new ButtonGroup();
   private JRadioButton radio1= new JRadioButton("Red");
   private JRadioButton radio2= new JRadioButton("Green");
   private JRadioButton radio3= new JRadioButton("Blue");

   radioGroup.add(radio1);
   radioGroup.add(radio2);
   radioGroup.add(radio3);

如何查看选择了哪一个?
使用System.out.println(radioGroup.getSelection())我只得到类似javax.swing.JToggleButton $ToggleButtonModel@32b3714的内容.

解决方法:

从选定的ButtonModel中,您可以获取actionCommand String(如果您记得设置它!).

// code not compiled, run, nor tested in any way
ButtonModel model = radioGroup.getSelection();
String actionCommand = (model == null) ? "" : model.getActionCommand():
System.out.println(actionCommand);

但这只有在您首先设置actionCommand时才有效.例如.,:

// code not compiled, run, nor tested in any way
String[] colors = {"Red", "Green", "Blue"};
JRadioButton[] radioBtns = new JRadioButton[colors.length];
for (int i = 0; i < radioBtns.length; i++) {
   radioBtns[i] = new JRadioButton(colors[i]);
   radioBtns[i].setActionCommand(colors[i]);
   radioGroup.add(radioBtns[i]);
   somePanel.add(radioBtns[i]);
}

标签:java,swing,jradiobutton,buttongroup
来源: https://codeday.me/bug/20190715/1470032.html