Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我怎样才能更改“的”;“最小化、最大化和关闭”;具有Nimbus Laf的内部框架的图标?_Java_Swing_Jinternalframe_Nimbus_Uimanager - Fatal编程技术网

Java 我怎样才能更改“的”;“最小化、最大化和关闭”;具有Nimbus Laf的内部框架的图标?

Java 我怎样才能更改“的”;“最小化、最大化和关闭”;具有Nimbus Laf的内部框架的图标?,java,swing,jinternalframe,nimbus,uimanager,Java,Swing,Jinternalframe,Nimbus,Uimanager,我用的是Nimbus的外观和感觉, 我知道如何使用以下代码更改工具提示颜色: UIManager.put("info", Color.white); 但是如何将图标(最小化、最大化和关闭)更改为另一个图标/png文件 这是关闭按钮的键:InternalFrame:InternalFrameTitlePane:“InternalFrameTitlePane.closeButton”[Enabled]。backgroundPainter 与后面的info相同 这是一个包含所有密钥的站点:看起来像一

我用的是Nimbus的外观和感觉, 我知道如何使用以下代码更改工具提示颜色:

UIManager.put("info", Color.white);
但是如何将图标(最小化、最大化和关闭)更改为另一个图标/png文件

这是关闭按钮的键:
InternalFrame:InternalFrameTitlePane:“InternalFrameTitlePane.closeButton”[Enabled]。backgroundPainter
与后面的
info
相同


这是一个包含所有密钥的站点:

看起来像一个丑陋的黑客,但对我来说很有用

    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")) {
                ...
            }
        }
    }
JComponent title=((基本内部框架)myInternalFrame.getUI()).getNorthPane();
对于(int i=0;i
同:如何更改Nimbus LaF的默认图像?