我几乎需要以这种方式设置JButton颜色,帮助:

时间:2018-08-28 13:32:41

标签: java user-interface

我很新,我不知道如何在同一行代码中设置颜色,我需要将其设置为这行,因为它被循环覆盖了,如果有其他方式,我将不胜感激如果你告诉我,谢谢。

add(new JButton(new PersonAction(new Person(miResultSet.getString("name"), miResultSet.getString("identification"))),setBackground(Color.yellow)));

3 个答案:

答案 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循环中。真的-我一点都不知道。