我很新,我不知道如何在同一行代码中设置颜色,我需要将其设置为这行,因为它被循环覆盖了,如果有其他方式,我将不胜感激如果你告诉我,谢谢。
add(new JButton(new PersonAction(new Person(miResultSet.getString("name"), miResultSet.getString("identification"))),setBackground(Color.yellow)));
答案 0 :(得分:1)
如果要以整洁的方式进行操作,请使用多于一行的行,并在单个语句中创建所需的每个对象:
while (someConditionIsTrue) {
// create a Person passing some parameters
Person p = new Person(miResultSet.getString("name"),
miResultSet.getString("identification"));
// create a PersonAction with the recently created person as parameter
PersonAction pa = new PersonAction(p);
// create the JButton passing the PersonAction as parameter
JButton jb = new JButton(pa);
// set the background of the JButton
jb.setBackground(Color.YELLOW)));
// add it to wherever it is to be added
someThing.add(jb);
}
这将使阅读和调试变得更加容易……
答案 1 :(得分:0)
尝试一下
add(new JButton(new PersonAction(new Person(miResultSet.getString("name"), miResultSet.getString("identification")))).setBackground(Color.yellow));
您尚未正确构造jbutton,更多的是,您使用逗号而不是点运算符来访问属性。
答案 2 :(得分:0)
或者您可以尝试...
while (miResultSet.next()) {
Person person = new Person(miResultSet.getString("name"), miResultSet.getString("identification"));
PersonAction action = new PersonAction(person);
JButton actionButton = new JButton(action);
actionButton.setBackground(Color.yellow);
// set other properties if you need
add(actionButton);
}
P.S。我猜条件在while循环中。真的-我一点都不知道。