我为JDesktopPane使用了自制的DesktopPaneUI,我已经为该类编写了适当的方法,并且遇到了麻烦。当我调整JDesktopPane的大小时,背景图片不会随框架调整大小。图像看起来像在窗户最初打开时的大小一样。我给它的图像大于窗口,我仍然有这个问题。JDesktopPane的背景设置
这里是我的桌面UI类的构造函数中的方法调用。
super();
this.background = javax.imageio.ImageIO.read(new File(fileName));
有没有办法我可以更改我设定的UI,或者myDesktopPaneUI类这样的背景仍然充满窗口时的JDesktopPane改变大小我的主类?
setUI(new myDesktopPaneUI("media/bg.jpg"));
图像甚至覆盖了的时候,它可能有透明的区域 - 所以不叫超相符超的合同只有不透明== false。它不是默认的,并且可以随时通过客户端代码进行更改。所以它不是很安全,并让你的IDE输入一个额外的行是... :-) – kleopatra 2011-12-05 10:47:27
@kleopatra,好点;) – camickr 2011-12-05 15:58:54
那么为什么不使用像“if(image!= null){drawImage;} else { super.paintComponent;}“在paintComponent的情况下,可以在以后连接图像?这是个好主意吗 ? – Benj 2013-03-05 22:52:26