gpt4 book ai didi

java - 单击按钮时读取选定的单选按钮

转载 作者:行者123 更新时间:2023-12-01 13:18:31 25 4
gpt4 key购买 nike

我试图在单击按钮时获取所选单选按钮的值。这就是我设法做的,但结果是 null。

//声明的按钮

    JRadioButton choice1 = new JRadioButton("Choice 1");
JRadioButton choice2 = new JRadioButton("Choice 2");
JRadioButton choice3 = new JRadioButton("Choice 3");
JRadioButton choice4 = new JRadioButton("Choice 4");

choice1.setSelected(true);

//按钮分组

    ButtonGroup group = new ButtonGroup();
group.add(choice1);
group.add(choice2);
group.add(choice3);
group.add(choice4);

JPanel radioPanel = new JPanel();
radioPanel.add(choice1);
radioPanel.add(choice2);
radioPanel.add(choice3);
radioPanel.add(choice4);

JButton button = new JButton("Check Choice");
button.addActionListener(new ClickListener(group));
frame.add(button, BorderLayout.SOUTH);

//调用ActionListener读取RadioButtonSelected

    static class ClickListener implements ActionListener{
ButtonGroup group = new ButtonGroup();
public ClickListener(ButtonGroup group){

super();
this.group = group;
}

public void actionPerformed(ActionEvent e){
System.out.println(group.getSelection().getActionCommand());
}
}

最佳答案

您从未设置过 JRadioButton 的操作命令。所以,当你要求它时,你会得到空值。

解决方案:

第一次制作按钮的位置:

choice1.setActionCommand("1");
choice2.setActionCommand("2");
choice3.setActionCommand("3");
choice4.setActionCommand("4");

然后在您的 actionPerformed 方法中:

String cmd = group.getSelection().getActionCommand();
if(cmd.equalsIgnoreCase("1")) {
// Button 1 Action
} else if(cmd.equalsIgnoreCase("2")) {
// Button 2 Action
} else if(cmd.equalsIgnoreCase("3")) {
// Button 3 Action
} else if(cmd.equalsIgnoreCase("4")) {
// Button 4 Action
}

这允许您使用操作命令来区分按钮。这不是最干净的方法,但它应该有效。

希望这有帮助!

关于java - 单击按钮时读取选定的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22253806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com