简单设置窗口背景
直接代码伺候:
package com.yufu.test;
import java.awt.BorderLayout;
import java.awt.EventQueue;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Toolkit;
public class 桌面背景的研究 extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
桌面背景的研究 frame = new 桌面背景的研究();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public 桌面背景的研究() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
bgMap bgm=new bgMap();
bgm.setImage(Toolkit.getDefaultToolkit().getImage(桌面背景的研究.class.getResource("/images/1.png")));
contentPane.add(bgm,BorderLayout.CENTER);
}
}
需要重写下方法
/
package com.yufu.test;
import java.awt.Graphics;
import java.awt.Image;import javax.swing.JPanel;
public class bgMap extends JPanel{
private static final long serialVersionUID = 1L;
private Image image;
public bgMap() {
super();
setOpaque(false);
setLayout(null);
}
/**
* 设置图片的方法
*/
public void setImage(Image image) {
this.image = image;
}
@Override
protected void paintComponent(Graphics g) {// 重写绘制组件外观
if (image != null) {
int width = getWidth();// 获取组件大小
int height = getHeight();
g.drawImage(image, 0, 0, width, height, this);// 绘制图片与组件大小相同
}
super.paintComponent(g);// 执行超类方法
}
}
备注:
前期工作:
先确定窗口的大小,然后截个与窗口一样大小的图做窗口背景,背景图太大的化,运行直接报错。
然后,项目里在src下新建文件夹,名称我定为images,直接复制背景图片到此文件夹,或者直接拖到此文件夹,弹出的对话框,直接确定。
结构如下:
要点:
***必须有重写的方法。有了之后就有两种手段添加窗口背景:
然后1:
切换到Design面板,看到contentPane下确实有个bgm的面板,因为有个自己重写的方法,新建初始化bgm 后状态栏里有images这个选项,点击边上…,可以看到刚才自己导入的图标文件夹,直接点击需要插入的图片。就成功加入窗口图片了。
添加好后,点击运行后的效果图:
第二种方法:
直接添加代码,前提是:图片和文件夹路径都要对.加入如下代码:
运行效果如下:
如上。