您的位置:首页 > 编程语言 > Java开发

在窗体中设置背景图片的方法

2017-09-23 19:12 381 查看

写一个ImagePanel extends JPanel 并在类中复写 paintComponent(Graphics g) 方法

代码如下:

public class ImagePanel extends JPanel {

private int weight;
private int height;
private String imagePath;

public ImagePanel(int weight,int height,String imagePath){
this.weight = weight;
this.height = height;
this.imagePath = imagePath;
this.setPreferredSize(new Dimension(this.weight,this.height));
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon imageIcon = new ImageIcon(getClass().getResource("/img/" + imagePath));
imageIcon.setImage(imageIcon.getImage().getScaledInstance(this.weight,this.height,Image.SCALE_FAST));
g.drawIage(imageIcon.getImage(),0,0,null);
}
}


在Test中测试,继承JFrame

代码如下:

public class Test extends JFrame {
private Container container;
private JPanel allPanel;
public Test(){
init();
setSize(400,400);
setLocationRelativeTo(null);
setTitle("测试jframe");
setVisible(true);
}
public void init(){
ImagePanel imagePanel = new ImagePanel(400,400,"bg.png");
setContentPane(imagePanel);
container = new Container();
container = getContentPane();
allPanel = new JPanel();
allPanel.setBackground(null);
allPanel.setOpaque(false);
allPanel.setPreferredSize(new Dimension(400,400));
JLabel  label = new JLabel("WEHRL");
allPanel.add(label);
container.add(allPanel);
}

public static void main(String[] args) {
new Test();
}
}


测试截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java