3

我正在使用 Nimbus Look and Feel,我知道如何使用以下代码更改工具提示颜色:

UIManager.put("info", Color.white);

但是如何将图标(最小化、最大化和关闭)更改为另一个图标/png 文件?

这里是关闭按钮的键:和后面InternalFrame:InternalFrameTitlePane:"InternalFrameTitlePane.closeButton"[Enabled].backgroundPainter 一样info

这是包含所有密钥的站点:http: //docs.oracle.com/javase/tutorial/uiswing/lookandfeel/_nimbusDefaults.html#primary

4

1 回答 1

3

Looks like a ugly Hack, but works for me.

    JComponent     title = ((BasicInternalFrameUI)myInternalFrame.getUI()).getNorthPane();
    for (int i = 0; i < title.getComponentCount(); i++) {
        JComponent component = (JComponent)title.getComponent(i);
        if(component instanceof JButton) {
            JButton button = ((JButton)component);
            if(button.getName() == null) continue;
            if(button.getName().endsWith("closeButton")) {
                button.setIcon(myIcon);
                button.setSelectedIcon(myIcon);
                button.setPressedIcon(myIcon);
            }
            if(button.getName().endsWith("maximizeButton")) {
                ...
            }
            if(button.getName().endsWith("iconifyButton")) {
                ...
            }
        }
    }
于 2012-11-23T22:07:05.933 回答