我试图在每个循环中制作一些按钮,但我无法弄清楚它是如何正确的。 它甚至有效吗?
String[] myButtons = {"Label","Checkbox","CheckboxGroup", "Textfield", "TextArea","Choice", "List", "Scrollbar", "ScrolPane", "Ende"};
for (String buttonName : myButtons) {
Button buttonName = new Button( buttonName );
}
答案 0 :(得分:2)
当然,如果您不尝试重用buttonName
,那么您将能够编译并创建一些按钮:
for (String buttonName : myButtons) {
Button button = new Button( buttonName ); // right here!
}
但是你没有对他们做任何事情。也许你想将它们添加到一个框架中?
for (String buttonName : myButtons) {
Button button = new Button( buttonName );
frame.add(button);
}
您确定不想使用JButton
吗?
答案 1 :(得分:2)
看起来你每次传递都会重新创建Button对象。当您还需要实例化实际Button对象列表时,您只有一个String名称列表。试试这个:
String[] buttonNames = {"One", "Two", "Three", "Four", "Five"};
Button[] buttons = new Button[buttonNames.length];
for (int i = 0; i < buttons.length; i++) {
buttons[i] = new Button(buttonNames[i]);
}
根据Button对象的不同,您还可以在for循环中包含一个匿名函数,该函数将创建的每个按钮绑定到事件侦听器。