java awt 设置为背景图不能显示

异灵红梅 2009-01-03 03:03:49
我用java awt编写的主界面显示背景图片,但是,却显示不出来,请各位高手帮忙解决以下了:谢谢!

程序如下:
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.*;
class MyJFrame extends JFrame
{
private static final long serialVersionUID = 1L;
private JPanel Content;
MyJFrame()
{
Content=(JPanel)getContentPane();
PictureJPanel myjpanel=new PictureJPanel();
Content.setOpaque(false); //设内容窗格为透明。。
Content.setLayout(new FlowLayout());

Content.add(myjpanel,-1);
Content.add(new JButton("确认"),0);
this.getLayeredPane().setLayout(null);
this.getLayeredPane().add(myjpanel,new Integer(Integer.MIN_VALUE));

setBounds(100,100,800,600);

setVisible(true);
validate();
}

}
class PictureJPanel extends JPanel
{
private static final long serialVersionUID =2L;
public PictureJPanel()
{
//把图片显示在标签里。。。
JLabel pictureLabel = new JLabel();
pictureLabel.setIcon(new ImageIcon("25.BMP"));
pictureLabel.setBounds(0,0,800,600);



setOpaque(false);
add(pictureLabel);
}
}
public class MainFrame
{
public static void main(String args[])
{
MyJFrame myjframe=new MyJFrame();
//new WindowMain("冠心病诊治规律及综合治疗方案研究");

//MyFrame.add(canvas2,BorderLayout.CENTER);
myjframe.setDefaultCloseOperation(myjframe.EXIT_ON_CLOSE);
myjframe.setVisible(true);
myjframe.validate();

}
}
...全文
330 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
likgui 2009-01-08
  • 打赏
  • 举报
回复
关注中
gongfuliang 2009-01-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 neo0208 的回复:]
多去看看 GridBagLayout 这个“布局之王”吧
基本上所有的位置都能用这个去设置布局
[/Quote]

GridBagLayout也只是说在控件比较多的时候,布局需要比较整齐的时候用得多,GridBagLayout本身还是有Bug的

其实每种布局都有自身的适用场景,你用GridBagLayout给我做个环形布局试试
neo0208 2009-01-05
  • 打赏
  • 举报
回复
多去看看 GridBagLayout 这个“布局之王”吧
基本上所有的位置都能用这个去设置布局
gongfuliang 2009-01-04
  • 打赏
  • 举报
回复
1、不支持BMP已经是在1.5之前了,从1.5开始已经支持BMP格式

pictureLabel.setIcon(new ImageIcon(javax.imageio.ImageIO.read(getClass().getResource("25.BMP"))));

2、this.getLayeredPane()的Layout设置为Null,那么就必须要设置添加在其上面组件的Bounds,不然是没有办法显示的。你的Layer很乱...
ErfengDu 2009-01-03
  • 打赏
  • 举报
回复
bmp文件不可以!

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧