Jdialog框标题栏图标更改

时间:2014-03-07 06:17:59

标签: java css swing swingx

我需要更改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);

一切正常..请帮助我..先谢谢

4 个答案:

答案 0 :(得分: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文件(来自第三方API)和setIconImages方法

答案 1 :(得分:0)

    Image image = ImageIO.read(new URL(
        "http://www.gravatar.com/avatar/f1d58f7932b6ae8027c4e1d84f440ffe?s=128&d=identicon&r=PG"));
    dialog.setIconImage( image );
    dialog.setVisible(true);

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

为了改进 MadProgrammer 所说的内容,我遇到了问题,我解决了它实例化JDialog但使用静态类 <dimen name="design_bottom_navigation_text_size" tools:override="true">10sp</dimen> <dimen name="design_bottom_navigation_active_text_size" tools:override="true">10sp</dimen> 方法Toolkit

getDefaultToolkit().getImage(Image img)

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