从前面文本框技术可以看出我们在Swing开发过程中,有我们自己需要的特殊功能实现时,一般都需要继承与覆盖! 那么我们在绘制背景图片的时候,也是需要用到方法覆盖! import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MainJFrame extends JFrame{ private ImageJPanel ip; public MainJFrame() { initial(); } public void initial() { ip=new ImageJPanel(); this.setTitle("Demo"); this.setSize(400,300); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocationRelativeTo(this); Container c=this.getContentPane(); c.setLayout(null); ip.setBounds(0,0,this.getWidth(),this.getHeight()); c.add(ip); this.setVisible(true); } public static void main(String[] args) { new MainJFrame(); } } class ImageJPanel extends JPanel { private ImageIcon ii; public ImageJPanel() { //bk.jpg是指背景图片的名称,现在我使用的是相对路径即当前路径 ii=new ImageIcon("bk.jpg"); } //绘制背景图片 我们需要覆盖paintComponent(Graphics g)方法 public void paintComponent(Graphics g) { super.paintComponent(g); //四个参数分别代表 图片 绘制的开始点横坐标 纵坐标 绘制到哪儿 g.drawImage(ii.getImage(),0,0,this); //也可以使用更多的参数 来进一步控制绘制的 图片大小 }