java 设置背景_Java Swing实现窗体添加背景图片的2种方法详解
时间: 2024-02-01 09:14:56 浏览: 188
Java Swing实现窗体添加背景图片的2种方法详解
5星 · 资源好评率100%
Java Swing 是一个基于 Java 的 GUI 工具包,提供了许多组件和布局管理器,可以用来开发桌面应用程序。下面介绍两种 Java Swing 实现窗体添加背景图片的方法。
方法一:使用 JPanel
1.创建一个 JPanel 对象,并设置其布局管理器为 null。
2.在 JPanel 上绘制背景图片。
3.将 JPanel 添加到 JFrame 中。
示例代码:
```
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BackgroundImage extends JFrame {
private JPanel panel;
private Image bgImage;
public BackgroundImage() {
setTitle("Java Swing Background Image");
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
panel = new JPanel() {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(bgImage, 0, 0, null);
}
};
panel.setLayout(null);
bgImage = Toolkit.getDefaultToolkit().getImage("background.jpg");
add(panel);
setVisible(true);
}
public static void main(String[] args) {
new BackgroundImage();
}
}
```
方法二:使用 JDesktopPane
1.创建一个 JDesktopPane 对象,并将其设置为 JFrame 的内容面板。
2.创建一个 JInternalFrame 对象,并将其添加到 JDesktopPane 中。
3.在 JInternalFrame 中绘制背景图片。
示例代码:
```
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
public class BackgroundImage extends JFrame {
private JDesktopPane desktopPane;
private JInternalFrame internalFrame;
private Image bgImage;
public BackgroundImage() {
setTitle("Java Swing Background Image");
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
desktopPane = new JDesktopPane();
setContentPane(desktopPane);
internalFrame = new JInternalFrame("", false, false, false, false);
internalFrame.setBounds(0, 0, getWidth(), getHeight());
desktopPane.add(internalFrame);
internalFrame.setVisible(true);
bgImage = Toolkit.getDefaultToolkit().getImage("background.jpg");
JPanel panel = new JPanel() {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(bgImage, 0, 0, null);
}
};
internalFrame.add(panel);
setVisible(true);
}
public static void main(String[] args) {
new BackgroundImage();
}
}
```
以上两种方法都可以实现窗体添加背景图片,具体使用哪种方法取决于实际需求。
阅读全文