false);this.getLayeredPane().setLayout(null);this.getLayeredPane().add(backImage, new Integer(Integer.MIN_VALUE));backPanel.setLayout(new BorderLayout());这个是我程序里面复制出来的,效果就下面图一样。
具体方法如下:利用标签组件来设置,具体代码如下:=new JPanel(); //创建面板pnlMain。().add(pnlMain); //将pnlMain设置为主面板。
jpanel.add(jpanel3);ImageIcon img = new ImageIcon(11png);JLabel imgLabel = new JLabel(img);//将背景图放在标签里。
frame.getSize().height,frame);} };panel.setOpaque(false); //设置透明。2 在上面中的panel对象上添加多个其它具体的Jpanel对象。在每一个Jpanel对象中又可以设置单独的布局方式。这样就可以完整的表达这个界面内容了。
false);this.getLayeredPane().setLayout(null);this.getLayeredPane().add(backImage, new Integer(Integer.MIN_VALUE));backPanel.setLayout(new BorderLayout());这个是我程序里面复制出来的,效果就下面图一样。
pnlMain.add(lb); //将标签添加到主面板pnlMain中。用标签组件JLabel来设置窗体背景,其扩展性上比较差,且在标签上不能放置其他组件,比如:在放置一个JButton,整个布局背景图就错乱。
//设置标签的尺寸,即背景图象的大小。().setOpaque(false); /*把内容面板设置为透明,这样整个框架的背景就不再是内容面板的背景色,而是第二层中标签的图像。*/ pnlMain.add(lb); //将标签添加到主面板pnlMain中。
// 图片随窗体大小而变化 g.drawImage(icon.getImage(), 0, 0,frame.getSize().width,frame.getSize().height,frame);} };panel.setOpaque(false); //设置透明。
).add(imgLabel, new Integer(Integer.MIN_VALUE));//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
false);this.getLayeredPane().setLayout(null);this.getLayeredPane().add(backImage, new Integer(Integer.MIN_VALUE));backPanel.setLayout(new BorderLayout());这个是我程序里面复制出来的,效果就下面图一样。
在JFRAME中设置一个JPANEL对象,重写一下JPANEL对象的paintComponent方法。
整个的背景,覆盖 public void paint(Graphics g)方法。如果列表内容也要修改,要重写ListCellRenderer类。
1、导致这种现象是因为Java加载组件是有顺序的,作为背景的JLabel的代码一定要放在全部组件代码的最后,这样JLabel的背景图片才不会被其他组件遮住,从而使整个布局背景错乱。所以采用这种方式来设置窗体背景有很大的局限性。
2、可以新建个面板,在面板里放入带图片的JLabel,填满面板即可。
3、//设置标签的尺寸,即背景图象的大小。getConentPane().setOpaque(false); /*把内容面板设置为透明,这样整个框架的背景就不再是内容面板的背景色,而是第二层中标签的图像。
建议你用背景重绘的方式 。 如果用Jlabel 的话。
java框架JFrame三个层次,就如同“三个平面”,它们都具有一些可控的性质。
这只是你截的图吧,你是要源代码吗?这个其实很简单啊,你用绝对布局,很快就搞定。
可以用 setSelectionBackground(Color selectionBackground) 设置选定单元格的背景色。
我已经帮你改好了,但是,还差一点错误没有改过来——CalcEngine,这个类,我不知道是你自定义的一个类、还是什么。所以,文档还是会有报错的,就是“CalcEngine,不能关联到这个类”。
我这里有一个程序,是读文件和用调色板设置背景色的程序,你看看如何。
所以一般我们拖放的控件就是在ContentPane层上。也就是说我们只需将背景图片放在JFrame的第二层是JlayerPane上,再把内容面板ContentPane设置为透明,则第二层JlayerPane上放置的图片即成为内容面板的背景了。
使用JLabel加载图片效果 使用JLabel时,由于未图片尺寸与窗体尺寸不一致,导致图片只显示出一部分;且有一个控件被遮挡了。注意:通过精细设置尺寸和添加控件顺序,可以达到较为满意的效果的。
你首先要确认一下面板的布局方式。你没有加图片时,已经将label的图标设置为了图片,也没有设置标签的大小,所以在添加标签到面板时,就会站整个面板,所以可以看到图片。
// 图片随窗体大小而变化 g.drawImage(icon.getImage(), 0, 0,frame.getSize().width,frame.getSize().height,frame);} };panel.setOpaque(false); //设置透明。
售价:免费 19324 ℃ 30 评论
售价:免费 8998 ℃ 6 评论
售价:免费 5363 ℃ 3 评论
暂时还没人回答此问题额!
欢迎 你 发表评论