我有几个问题,但我当时会问一个问题,这次问题是:如何用for循环制作JRadioButton
但是知道它用了什么名字,以后我可以把它叫做有一些动作方法,例如我的代码:
for (int i = 0; i < excavators.length; i++) {
value = excavators[i];
zaBag.add(new JLabel(value));
zaBag.add(new JRadioButton());
}
答案 0 :(得分:1)
你无法真正做到这一点,但改变你的方法,而不是为每个JRadioButton分配一个JLabel,你可以使用以下方式设置单选按钮的文本:
jRadioButton.setText(value);
或您的new JRadioButton(value);
现在我不完全明白你是什么意思:
但要知道它采取了什么名称,以后我可以称它为一些 行动方法
但我会假设您无法获取JRadioButton的文本,因为相关的标签,并且由于上面解决了问题,您可以使用以下步骤来检查是否单击了某个按钮并返回它的文字:
1 - 围绕JRadioButtons
:
2 - 使用此项检查并在按钮被选中时返回:
if (button.isSelected()) {
return button.getText();
}
答案 1 :(得分:1)
zaBag.add(new JLabel(value));
zaBag.add(new JRadioButton());
不要使用两个组件。 JRadioButton
还应包含按钮的文字:
//zaBag.add(new JLabel(value));
zaBag.add(new JRadioButton(value));
现在单击按钮,您只需使用getText()
方法。
我有几个问题,但我会在当时提出一个问题
阅读How to Use Radio Buttons上Swing教程中的部分,了解更多信息和示例。
在提出进一步的问题之前,请先阅读本教程的其他部分。本教程包含所有Swing基础知识。
编辑:
我不知道对象单选按钮的名称是什么,所以我不能指定一些方法
这个名字无关紧要。你要么:
在创建单选按钮时为每个单选按钮分配一个唯一的侦听器,以便您可以调用指定方法
您将获得单选按钮的文本并根据文本调用该方法。
第一个选项是最佳选项,因为任何使用嵌套if / else语句的代码设计都很差。