gpt4 book ai didi

java - 多个 jradiobutton 的 Action 监听器

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

我有一个位于 for 循环内的多个 jradiobutton,我试图在其上放置监听器,这就是我发现的:

Action listener for multiple radio buttons

Create two dimensional JRadioButton array like

    JRadioButton[][] jRadioButtons = new JRadioButton[8][];
ButtonGroup bg = new ButtonGroup();
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(8, 8));
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
JRadioButton btn = new JRadioButton();
btn.addActionListener(listener);
btn.setName("Btn[" + i + "," + j + "]");
bg.add(btn);
panel.add(btn);
// can be used for other operations
jRadioButtons[i][j] = btn;
}
}

Here is single ActionListener for all JRadioButtons

ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JRadioButton btn = (JRadioButton) e.getSource();
System.out.println("Selected Button = " + btn.getName());
}
};

我有点明白了,但我仍然有一些澄清:

  1. 二维 jradiobutton 的用途是什么?我的意思是我有点看到它是为 jradiobuttons 设置一个名称,但据我的理解,它只是用于显示。是的,确认这是您选择的 jradiobutton,但我不明白它放置 actionlistener 的目的是什么
  2. 二维 jradiobutton 真的有那么必要吗?
  3. 我可以只使用 jradiobuttons 的名称吗

做这样的事情:

if(NameOfJRadioButton.isSelected())

{

//some procedures

}

^(我似乎无法将其转换为代码:/)

如果是这样,我该怎么做?或者您对如何为多个 jradiobuttons 放置监听器有任何其他建议吗?感谢您的任何建议:)

最佳答案

关于你的第一点和第二点,二维数组的原因未知,因为它不是你的代码,但对于使用 JRadioButtons 来说根本没有必要。然而,将所有按钮放在某种类型的数组中是很有用的,无论是数组列表还是按钮组(按钮的 Swing 列表),以便在调用操作时使用按钮检查内容。例如关于第三点,此数组列表将允许您迭代并检查已选择哪些按钮并采取相应的操作。

操作监听器的目的是在用户单击按钮时执行操作。最常见的用途是只允许用户选择一定数量的 JRadioButton,或者在选择它们后禁用它们。例如在角色选择菜单中。

关于java - 多个 jradiobutton 的 Action 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40166091/

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