我已经搜索并看到了其他几个与此问题类似的问题,但是它们并没有真正回答我的问题。我有一组看起来都一样的按钮,目前我正在分别更改每个按钮的样式,如下所示:

button1.setBackground(background);
button1.setPrefHeight(height);
button1.setPrefWidth(width);

button2.setBackground(background);
button2.setPrefHeight(height);
button2.setPrefWidth(width);


等等。我尝试以下无济于事:

templateButton.setBackground(background);
templateButton.setPrefHeight(height);
templateButton.setPrefWidth(width);
button1 = templateButton;
button2 = templateButton;
button3 = templateButton;


但是然后我得到一个错误,指出“添加了重复的子代”,我认为这意味着按钮1/2/3都以某种方式指向templateButton,而不仅仅是继承templateButton的属性。有没有更好的方法可以做到这一点,还是应该单独设置它们?

最佳答案

只需使用一个循环:

for (Button b : Arrays.asList(button1, button2, button3)) {
    b.setBackground(background);
    b.setPrefHeight(height);
    b.setPrefWidth(width);
}


或创建自己的扩展Button的类并在构造函数中设置属性。

10-01 06:00