按钮背景颜色变化不起作用

时间:2016-07-25 08:19:29

标签: java button intellij-idea colors

我的按钮背景颜色有问题。

单击时,它会更改为我在代码中未指定的颜色。当我将光标移离按钮(仍按住鼠标按钮)时,它会将颜色更改为我在代码中定义的颜色。

我正在使用以下ChangeListener方法更改颜色:

btn1.getModel().addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent e) {
        ButtonModel model = (ButtonModel) e.getSource();

        if (model.isRollover()) {
            btn1.setBackground(new Color(166,166, 166));
        } else if (model.isPressed()) {
            btn1.setBackground(new Color(255, 64, 0));
        } else {
            btn1.setBackground(new Color(201, 201, 201));
        }
    }
});

以下是所有情况的屏幕截图:

  1. 正常
  2. 悬停
  3. 点击(错误)
  4. 点击并将光标移离按钮

1 个答案:

答案 0 :(得分:1)

在按钮顶部按下鼠标可使模型同时布防和按下。只要鼠标保持向下,即使鼠标移动到按钮外,模型也会保持按下状态。相反,只有鼠标在按钮范围内按下时才会启用模型。 ButtonModel