2011-12-28 60 views
2

我已经设法用我自己的图标替换了角落里的java咖啡杯,但是我的应用程序有大约13帧,当我像我在大型机上那样手动调用图标时,它说找不到符号getframe()。为所有子帧设置默认的java桌面应用程序图标?

任何想法如何将默认图标设置为主框架的图标?我用这个代码,以我的图标应用到主框架:

URL url = ClassLoader.getSystemResource("calculatormedii/resources/CMed1.png"); 
     Toolkit kit = Toolkit.getDefaultToolkit(); 
     Image img = kit.createImage(url); 
     getFrame().setIconImage(img); 

回答

3

“子帧”应该是一个JDialog,而不是一个JFrame。只要您在构造函数中指定框架作为对话框的父项,对话框就会自动继承图标。

+0

但我已经有一些jFrames被实现。有没有办法将它们转换为jDialogs或手动将图标添加到每个? – Bugster 2011-12-28 19:45:18

+1

将JFrame更改为JDialog。按照与框架相同的方式将组件添加到对话框中。所以主要的区别是创建对话框时使用的构造函数,正如我上面所建议的。 – camickr 2011-12-28 23:30:18

1
  1. ,因为我知道不可能easilly改变Java这杯图标从Java桌面Aplication

  2. Java桌面Aplication内置容器是基于Swing的旧框架,但很多方法保护,从没有入店外

  3. 因为(一见钟情),看起来非常舒适只是drad &从调色板下降pre_defined jComponents,但基本方法不容易的工作变化的部分,

  4. Java桌面Aplication是旧的框架和折旧几年

  5. 使用标准Swing的JComponent,那么你找不到任何限制

1

你可以尝试这样的事情:

URL url = ClassLoader.getSystemResource("calculatormedii/resources/CMed1.png"); 
     Toolkit kit = Toolkit.getDefaultToolkit(); 
     Image img = kit.createImage(url); 

     Frame[] frames = JFrame.getFrames(); 
     for (int i = 0; i < frames.length; i++) { 
      frames[i].setIconImage(img); 
     }