五子棋图片为什么加载不上去呀?图片已复制到程序的image下
import javax.swing.JFrame;
public class Gobang extends JFrame {
javax.swing.JButton jbutton1=new javax.swing.JButton("开始");
javax.swing.JButton jbutton2=new javax.swing.JButton("悔棋");
javax.swing.JPanel jpanel1=new javax.swing.JPanel();
java.awt.FlowLayout flowlayout=new java.awt.FlowLayout();
GobangPanel gobangpanel=null;
Gobang(){
try{
jpanel1.setLayout(flowlayout);
jpanel1.add(jbutton1);
jpanel1.add(jbutton2);
this.getContentPane().add(jpanel1,java.awt.BorderLayout.NORTH);
gobangpanel=new GobangPanel();
this.getContentPane().add(gobangpanel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setSize(500,500);
this.setVisible(true);
}catch(Exception e){
System.out.print("图形加载失败");
}
}
public static void main(String[] arg){
new Gobang();
}
class GobangPanel extends javax.swing.JPanel {
java.awt.image.BufferedImage gobangImage=null;
public GobangPanel() throws Exception{
java.io.InputStream in=getClass().getResourceAsStream("/image/qp.jpg");
gobangImage= javax.imageio.ImageIO.read(in);
}
public void paintComponents(java.awt.Graphics g){
super.paintComponent(g);
g.drawImage(gobangImage,0,0,this);
}
}
}
import javax.swing.JFrame;
public class Gobang extends JFrame {
javax.swing.JButton jbutton1=new javax.swing.JButton("开始");
javax.swing.JButton jbutton2=new javax.swing.JButton("悔棋");
javax.swing.JPanel jpanel1=new javax.swing.JPanel();
java.awt.FlowLayout flowlayout=new java.awt.FlowLayout();
GobangPanel gobangpanel=null;
Gobang(){
try{
jpanel1.setLayout(flowlayout);
jpanel1.add(jbutton1);
jpanel1.add(jbutton2);
this.getContentPane().add(jpanel1,java.awt.BorderLayout.NORTH);
gobangpanel=new GobangPanel();
this.getContentPane().add(gobangpanel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setSize(500,500);
this.setVisible(true);
}catch(Exception e){
System.out.print("图形加载失败");
}
}
public static void main(String[] arg){
new Gobang();
}
class GobangPanel extends javax.swing.JPanel {
java.awt.image.BufferedImage gobangImage=null;
public GobangPanel() throws Exception{
java.io.InputStream in=getClass().getResourceAsStream("/image/qp.jpg");
gobangImage= javax.imageio.ImageIO.read(in);
}
public void paintComponents(java.awt.Graphics g){
super.paintComponent(g);
g.drawImage(gobangImage,0,0,this);
}
}
}
可我不明白用public void paintComponents(java.awt.Graphics g)为什么就画不上去呀,都是绘制组件的方法
有谁能给讲一下它俩的区别?
protected void paintComponent(java.awt.Graphics g)
public void paintComponents(java.awt.Graphics g)