扩展paintComponent方法
private ImageIcon bg;//给定一个图
...
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Image img = bg.getImage();
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
private ImageIcon bg;//给定一个图
...
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Image img = bg.getImage();
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
不过我是在 Appleation 里做,不是 applet ,还有办法吗?
import javax.swing.*;public class ImageBgFrame extends JFrame{
private ImageIcon bg;
public ImageBgFrame(String title,ImageIcon icon) {
super(title);
bg = icon;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Image img = bg.getImage();
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
"ImageBgFrame.java": Error #: 300 : method paintComponent(java.awt.Graphics) not found in class javax.swing.JFrame at line 23, column 11
paintComponents可是我看不见图像
public class ImageBgPanel extends JPanel {
private ImageIcon bg;
public ImageBgPanel(LayoutManager layout,ImageIcon icon) {
super(layout);
bg = icon;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Image img = bg.getImage();
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
你不如在JFrame上面放一个JPanel
我正是要用一个 JPanel 不然其他组件可就没处放了效果非常好
谢谢
还有一小问 我没有看见你调用 paintComponent(Graphics g)
是系统自己调用的吗?