【问题标题】:Jdialog box Title bar icon changeJdialog 框标题栏图标更改
【发布时间】:2014-03-07 06:17:59
【问题描述】:

我需要更改 Jdialog 框标题栏图标。默认情况下,它使用 java 咖啡图像。

我在网上搜索并使用了很多代码

1. Image im = Toolkit.getDefaultToolkit().getImage("/org/qmon/generate/Images/JDialog -2.ico");
        dialog.setIconImage(im);

2. Toolkit kit = Toolkit.getDefaultToolkit ();
        Image img = kit.getImage ("/org/qmon/generate/Images/Create File Tag-16x16.png");

        dialog.setIconImage(img);

没有什么能正常工作..请帮助我..在此先感谢

【问题讨论】:

    标签: java css swing swingx


    【解决方案1】:

    首先,ico 不是 Java 支持的图像格式。

    您在使用第二种方法时遇到问题的可能原因是 getImage 期待文件引用,而您似乎引用的图像看起来像是嵌入的(存储在您的应用程序中)

    尝试使用类似...的东西

    Image img = kit.getImage (getClass().getResource("/org/qmon/generate/Images/Create File Tag-16x16.png"));
    

    相反。

    就个人而言,我更喜欢ImageIO.read,因为它会在出现问题时抛出IOException...

    Image img = ImageIO.read(getClass().getResource("/org/qmon/generate/Images/Create File Tag-16x16.png"));
    

    但那是我……

    您还应该考虑查看 Convert List<BufferedImage> to Image,它演示了 ico 文件(来自第 3 方 API)和 setIconImages 方法的使用

    【讨论】:

    • 感谢好友此代码工作Image img = ImageIO.read(getClass().getResource("/org/qmon/generate/Images/Create File Tag-16x16.png"));
    【解决方案2】:
        Image image = ImageIO.read(new URL(
            "http://www.gravatar.com/avatar/f1d58f7932b6ae8027c4e1d84f440ffe?s=128&d=identicon&r=PG"));
        dialog.setIconImage( image );
        dialog.setVisible(true);
    

    【讨论】:

    • 另一种获取图像的方法是热链接到this answer中看到的图像。
    【解决方案3】:

    我在我的应用程序中使用它并且工作正常

        java.net.URL url = ClassLoader.getSystemResource("res/java.png");
        ImageIcon icon = new ImageIcon(url);
        JOptionPane.showMessageDialog(null, jep, "UroSync",JOptionPane.INFORMATION_MESSAGE, icon);
    

    【讨论】:

      【解决方案4】:

      为了改进 MadProgrammer 所说的,我遇到了这个问题,我通过实例化 JDialog 但使用静态类 Toolkit 方法 getDefaultToolkit().getImage(Image img) 解决了它。

      JDialog dialog = new JDialog();
      dialog.setIconImage(Toolkit.getDefaultToolkit().getImage(MyMainClass.class.getResource("/myIcon.png")));
      

      为此,您需要在图像之前添加到项目的构建路径中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-20
        • 2016-09-13
        • 1970-01-01
        • 1970-01-01
        • 2019-06-07
        • 1970-01-01
        相关资源
        最近更新 更多