JAVA: 关于AWT,如何在继承Frame的窗口中插入背景图片
如何在继承Frame的窗口中插入背景图片而不影响在此图片上的布局,我在此图片进行任何布局,插入任何组件都不影响背景图片的存在.谢谢前辈指教!!!(抱歉我暂是没有积分和Q币...
如何在继承Frame的窗口中插入背景图片而不影响在此图片上的布局,我在此图片进行任何布局,插入任何组件都不影响背景图片的存在.谢谢前辈指教!!!(抱歉我暂是没有积分和Q币)
展开
1个回答
2013-08-18
展开全部
String s = 类名.class.getResource("/").toString();//利用反射得到类的路径并转换成String类型
String imageStr = s.substring(
0,s.length() - int) + "img/" +imageName ;//根据图片与类的相对位置进行字符串操作
URL imageURl = null;
try {
imageURl = new URL(imageStr);
} catch (MalformedURLException e) {
e.printStackTrace();
}
Image img = Toolkit.getDefaultToolkit().getImage(imageURl);
/*以上是将图片读入内存,最好是添加媒体跟踪器,图片就能一次读完,具体方法:
*MediaTracker MT = new MediaTracker(this);
*在图片读入内存后填加代码 MT.addImage(img, 0);
*最后添加try {
* MT.waitForAll();
* } catch (InterruptedException e) {
* e.printStackTrace();
* }
*
**/
后面的工作就简单的多了,直接一个lable就搞定(注意lable的位置是放在Frame所有组件的后面,否则将看不到组件),大致代码:lable = new JLabel(new ImageIcon(ci.getOptionImage()));Frame.add(lable)
String imageStr = s.substring(
0,s.length() - int) + "img/" +imageName ;//根据图片与类的相对位置进行字符串操作
URL imageURl = null;
try {
imageURl = new URL(imageStr);
} catch (MalformedURLException e) {
e.printStackTrace();
}
Image img = Toolkit.getDefaultToolkit().getImage(imageURl);
/*以上是将图片读入内存,最好是添加媒体跟踪器,图片就能一次读完,具体方法:
*MediaTracker MT = new MediaTracker(this);
*在图片读入内存后填加代码 MT.addImage(img, 0);
*最后添加try {
* MT.waitForAll();
* } catch (InterruptedException e) {
* e.printStackTrace();
* }
*
**/
后面的工作就简单的多了,直接一个lable就搞定(注意lable的位置是放在Frame所有组件的后面,否则将看不到组件),大致代码:lable = new JLabel(new ImageIcon(ci.getOptionImage()));Frame.add(lable)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询