Java 重置按钮的方法?
在我的程序中,我有12个不同的切换按钮,需要同时重置。而不是写作Java 重置按钮的方法?,java,swing,methods,jtogglebutton,Java,Swing,Methods,Jtogglebutton,在我的程序中,我有12个不同的切换按钮,需要同时重置。而不是写作 buttonOne.setText(""); buttonOne.setSelected(false); buttonOne.setEnabled(true); 对于12个不同的切换按钮,是否有方法通过传递参数来实现这一点?我最近才开始使用java,我从来没有使用过不是字符串或int的参数声明,所以我不确定是否有一种方法可以通过切换按钮来实现 您可以将按钮作为参数传递给新方法,并根据该参数调用您的方法 private void
buttonOne.setText("");
buttonOne.setSelected(false);
buttonOne.setEnabled(true);
对于12个不同的切换按钮,是否有方法通过传递参数来实现这一点?我最近才开始使用java,我从来没有使用过不是字符串或int的参数声明,所以我不确定是否有一种方法可以通过切换按钮来实现 您可以将按钮作为参数传递给新方法,并根据该参数调用您的方法
private void toggleButton(JToggleButton button) {
button.setText("");
button.setSelected(false);
button.setEnabled(true);
}
// ...
toggleButton(buttonOne);
toggleButton(buttonTwo);
...
如果要同时触发所有这些按钮,则可以将这些按钮放入列表中,然后执行以下操作:
for (JButton button : myListOfButtons) {
button.setText("");
button.setSelected(false);
button.setEnabled(true);
}
如果要重置面板或fram中的所有按钮,可以使用调用此方法:
private void clearAllFields() {
for (Component C : myPanel.getComponents()) {
if (C instanceof JButton) {
((JButton) C).setText("");
((JButton) C).setEnabled(true);
...
}
}
}
Witch将循环抛出所有组件,检查它是否是JButton
的实例,并重置为默认值
这样的好处是,你可以使用很多组件,考虑你想重置JTeXFieldE或者你可以使用的任何组件:
private void clearAllFields() {
for (Component C : myPanel.getComponents()) {
if (C instanceof JButton || C instanceof JTextField) {
((JTextField) C).setText("");
...
}
if (C instanceof JButton) {
((JButton) C).setText("");
((JButton) C).setEnabled(true);
...
}
if (C instanceof JRadioButton) {
((JRadioButton) C).setSelected(false);
...
}
if (C instanceof JDateChooser) {
((JDateChooser) C).setDate(null);
....
}
}
}
谢谢,但由于某种原因,我得到一个错误,它说这是一个无效的方法声明,并且需要返回类型。你可能知道为什么吗?@quinny你的方法应该使用
JButton
而不是按钮,并且不返回任何值thing@YCF_LJButton现在给了我“找不到符号”error@quinny您必须使用JToggleButton
代替JButton