jframe添加背景图片
时间: 2023-09-10 18:07:15 浏览: 108
可以通过设置`JFrame`的背景面板来实现添加背景图片。
首先,需要创建一个继承自`JPanel`的类(例如`BackgroundPanel`),重写`paintComponent`方法,在该方法中使用`Graphics`对象绘制背景图片。代码如下:
```java
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class BackgroundPanel extends JPanel {
private Image image;
public BackgroundPanel() {
ImageIcon icon = new ImageIcon("background.jpg"); // 背景图片的路径
image = icon.getImage();
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Dimension d = getSize();
g.drawImage(image, 0, 0, d.width, d.height, null);
}
}
```
接下来,在`JFrame`中设置背景面板为其内容面板,并设置内容面板为不透明(否则背景图片无法显示)。代码如下:
```java
import javax.swing.JFrame;
public class MainFrame extends JFrame {
public MainFrame() {
setTitle("Background Image Example");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建背景面板
BackgroundPanel backgroundPanel = new BackgroundPanel();
setContentPane(backgroundPanel);
// 设置内容面板为不透明
backgroundPanel.setOpaque(true);
setSize(400, 300);
setLocationRelativeTo(null); // 居中显示
setVisible(true);
}
public static void main(String[] args) {
new MainFrame();
}
}
```
这样就可以在`JFrame`中添加背景图片了。
阅读全文