JOptionPane标题栏图标

时间:2014-11-02 18:09:56

标签: java swing joptionpane

我想替换JOptionPane标题栏中的图标(因为它当前显示默认的Java咖啡徽标)。

我尝试了以下内容:

JOptionPane.showMessageDialog(null, "Some Text", "Login",
 JOptionPane.INFORMATION_MESSAGE, ImageCacheProvider
   .instance.getImageIcon("img/an image.png"));

它取代了窗口中的图标,但没有替换标题栏中的图标:

Screenshot title bar

是否有任何方法可以更改标题栏中的图标,或者隐藏默认的Java图标而无需实现JDialog类?

非常感谢! 托马斯

1 个答案:

答案 0 :(得分:5)

像这样使用:

Icon icon = new ImageIcon("d:/temp/CheckBox.gif");  
JOptionPane jp = new JOptionPane("Session Expired - Please Re Login"),   
  JOptionPane.INFORMATION_MESSAGE,   
  JOptionPane.WARNING_MESSAGE,   
  icon);  
JDialog dialog = jp.createDialog(null, "Session Expired - Please Re Login");
((Frame)dialog.getParent()).setIconImage(((ImageIcon)icon).getImage());  
dialog.setResizable(true);  
dialog.setVisible(true);