java实现带有背景图片的窗体

网友投稿 246 2023-01-25

java实现带有背景图片的窗体

本文实例为大家分享了java实现带有背景图片的窗体,供大家参考,具体内容如下

将背景图片添加到面板再添加到窗体

将背景图片添加到面板上

可设置背景图片的画板

//创建一个类继承画板类

public clhttp://ass MyJPanel extends JPanel{

//构造方法初始化背景图片

private Image image;

public MyJPanel(Image image){

this.image = image;

}

//重写paintComponent方法

@Override

public void paintComponent(Graphics g) {

//调用父类paintComponent方法绘制其他组件

super.paintComponent(g);

//绘制背景图片,大小为窗体大小

g.drawImage(image, 0, 0,getWidth(),getHeight(), null);

}

}

测试

import javax.swing.*;

import java.awt.*;

//测试类

public class Demo1 {

//创建窗体

private JFrame myJFrame = new JFrame("有背景图片");

public Demo1(){

//获取图片

Image im = new ImageIcon("forGame\\src\\resource\\主题背景.jpg").getImage();

//设置窗体大小

myJFrame.setSize(889,500);

//获取设置背景后的面板

MyJPanel myJPanel = new MyJPanel(im);

//添加按钮测试

myJPanel.add(new JButton("hello"));

myJPanel.add(new JButton("hello1"));

myJFrame.add(myJPanel);

myJFrame.setLocationRelativeTo(null);

myJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myJFrame.setVisible(true);

}

public static void main(String[] args) {

new Demo1();

}

}

效果图

将背景图片添加到窗体

分层添加

import javax.swing.*;

public class MyJFrame extends JFrame {

public MyJFrame () {

//创建一个JLayeredPane用于分层的。

JLayeredPane layeredPane=new JLayeredPane();

//获取图片

ImageIcon image=new ImageIcon("forGame\\src\\resource\\主题背景.jpg");

//JLabel用于存放背景图片,作为背景添加到JPanel上

JLabel jl=new JLabel(image);

//创建JPanel,并将JLabel添加

JPanel jp=new JPanel();

//设置JPanel大小为背景图片大小

jp.setBounds(0,0,image.getIconWidth(),image.getIconHeight());

jp.add(jl);

//创建测试按钮

JButton jb1=new JButton("hello");

jb1.setBounds(100,100,100,100);

JButton jb2=new JButton("hello1");

jb2.sehttp://tBounds(500,100,100,100);

//将jp放到JLayeredPane的最底层

layeredPane.add(jp,JLayeredPane.DEFAULT_LAYER);

//将jb放到jp高一层的地方

layeredPane.add(jb1,JLayeredPane.MODAL_LAYER);

layeredPane.add(jb2,JLayeredPane.MODAL_LAYER);

//设置窗体

this.setLayeredPane(layeredPane);

this.setSize(image.getIconWidth(),image.getIconHeight());

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new MyJFrame ();

}

}

效果图

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java和Dubbo的SPI机制原理解析
下一篇:券商 股票接口api(券商股票接口api)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~