Jay*_*rel 2 java swing declare
我正在开发一个小型游戏,一个用于IT类的Java项目.
要添加/声明(???)Java swing元素我已经使用过这种写法:
JLabel A = new JLabel();
JLabel B = new JLabel();
//More JLabels...
JButton A = new JButton();
JButton B = new JButton();
//More JButtons...
Run Code Online (Sandbox Code Playgroud)
代码不会变得更长,而且(更多)令人困惑,我继续这种写作:
JLabel A = new JLabel(), B = new JLabel()/*More JLabels...*/;
JButton A = new JButton(), B = new JButton()/*More JButton...*/;
/*Generaly more comments everywhere over the code for my teacher (and me)
*and more for a better overview.
*/
Run Code Online (Sandbox Code Playgroud)
我的问题是:
是否有更短的方法一次添加/声明(???)多个Java swing元素?
//like this
JLabel A, B, C, D, E, F = new JLabel();
//or
new JLabel[A, B, C, D, E, F];//PLS don't ask what I'm doing in this line xD
Run Code Online (Sandbox Code Playgroud)
或者在Stackoverflow中是否已经存在我未找到的半个问题?
编辑
这个问题可能已经有了答案:在Java 6答案中将多个变量初始化为相同的值
这里是问题的链接
您的问题已被确定为另一个问题的可能副本.如果那里的答案没有解决您的问题,请编辑以详细解释您的问题中唯一的部分.
不适用于Jbuttons和JLabels.
如果您使用的是Java 8,则可以使用:
List<String> labels = ....;
Stream<Button> stream = labels.stream().map(Button::new);
List<Button> buttons = stream.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
然后你可以使用:
JPanel p = new JPanel();
buttons.forEach((t) -> p.add(t));//add your buttons to your panel
Run Code Online (Sandbox Code Playgroud)