按钮具有焦点时更改图标

时间:2015-12-05 20:44:41

标签: java swing icons focus jbutton

我需要知道是否有焦点时更改JButton的图标。我正在使用Netbeans,当鼠标悬停在按钮上时,按下按钮时,以及选择按钮时,我可以选择更改图标,因此有一个选项可以更改它焦点。 但不幸的是,我似乎无法找到它,任何人都可以帮忙吗?

这似乎很好,谢谢。

1 个答案:

答案 0 :(得分:1)

您可以为JButton提供一个FocusListener,并在监听器中更改focusGainedfocusLost方法中的按钮图标。

button.addFocusListener(new FocusListener() {

    @Override
    public void focusLost(FocusEvent e) {
        AbstractButton btn = (AbstractButton) e.getSource();
        btn.setIcon(DEFAULT_BTN_ICON);
    }

    @Override
    public void focusGained(FocusEvent e) {
        AbstractButton btn = (AbstractButton) e.getSource();
        btn.setIcon(FOCUSED_BTN_ICON);
    }
});