JPanel 不显示背景图片
JPanel not showing background image
这是一个非常简单的程序,我已尽力而为,但 JPanel 没有提供背景图像。我只想在我的面板上有一个简单的背景图片。
这是我的代码:
import javax.swing.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;
import java.awt.Graphics;
class PanelEx extends JPanel
{
BufferedImage img;
PanelEx()
{
try
{
img = ImageIO.read(new File("C:/Users/Pictures/s_4261.jpg"));
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public void printComponent(Graphics g)
{
g.drawImage(img,0,0,null);
}
}
class JPanelEx2 extends JFrame
{
PanelEx pe;
public static void main(String args[])
{
new JPanelEx2();
}
JPanelEx2()
{
pe = new PanelEx();
add(pe);
setTitle("JPanel Title");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(320,240);
setVisible(true);
}
}
提前致谢
替换
public void printComponent(Graphics g) {
和
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
不要使用 JPanel。只需将 JLabel 与 Icon 一起使用,就不需要自定义代码。
有关详细信息以及使用 3 种不同的绘制选项在 JPanel 上绘制图像的解决方案,请参阅背景面板:
- 缩放
- 平铺
- 实际
这是一个非常简单的程序,我已尽力而为,但 JPanel 没有提供背景图像。我只想在我的面板上有一个简单的背景图片。
这是我的代码:
import javax.swing.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;
import java.awt.Graphics;
class PanelEx extends JPanel
{
BufferedImage img;
PanelEx()
{
try
{
img = ImageIO.read(new File("C:/Users/Pictures/s_4261.jpg"));
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public void printComponent(Graphics g)
{
g.drawImage(img,0,0,null);
}
}
class JPanelEx2 extends JFrame
{
PanelEx pe;
public static void main(String args[])
{
new JPanelEx2();
}
JPanelEx2()
{
pe = new PanelEx();
add(pe);
setTitle("JPanel Title");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(320,240);
setVisible(true);
}
}
提前致谢
替换
public void printComponent(Graphics g) {
和
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
不要使用 JPanel。只需将 JLabel 与 Icon 一起使用,就不需要自定义代码。
有关详细信息以及使用 3 种不同的绘制选项在 JPanel 上绘制图像的解决方案,请参阅背景面板:
- 缩放
- 平铺
- 实际