//MyJFrame类
import java.awt.*;
import javax.swing.*;
public class MyJFrame extends JFrame
{
JSplitPane jsp;
MyJPanel panel2=new MyJPanel();
public MyJFrame(String s){
    super(s);
Container contentPane=getContentPane();
JPanel panel=new JPanel();
panel.setLayout(new GridLayout(5,1));

JButton btn[]=new JButton[5];
for(int i=0;i<5;i++){
btn[i]=new JButton("按钮"+(i+1));
    panel.add(btn[i]);
}
    
jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,panel2,panel);
contentPane.add(jsp,BorderLayout.CENTER);
setSize(400,300);
setVisible(true);
}
public static void main(String [] args){
    MyJFrame myJFrame=new MyJFrame("TongXunLu");
}
}
//MyJPanel类
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class MyJPanel extends JPanel {
    Image image;
    public MyJPanel(){
     Toolkit tk=this.getToolkit();
     image=tk.getImage("abc.jpg");
    }
    public void paint(Graphics g){
     super.paint(g);
     g.drawImage(image,20,20,50,50,this);
    }
    public Dimension getPreferredSize(){
     return new Dimension(100,100);
    }
}
我就是想创建一个窗口、左边显示一张图片、右边显示5个按钮、但是出错了、错在哪里啊?求指导。谢谢了啊

解决方案 »

  1.   

    你报的什么问题,是图片显示不了还是什么问题,如果你现在这样写,abc.jpg 要放在工程的根目录下才行
      

  2.   

    比较推荐的做法是将abc.jpg文件放在跟MyPanel.java文件同一个目录下,然后代码改成这样import javax.swing.*;
    import java.awt.*;class MyJPanel extends JPanel {
        Image image;
        public MyJPanel(){
            Toolkit tk=this.getToolkit();
            image=tk.getImage(this.getClass().getResource("abc.jpg"));
        }
        public void paint(Graphics g){
            super.paint(g);
            g.drawImage(image,20,20,50,50,this);
        }
        public Dimension getPreferredSize(){
            return new Dimension(100,100);
        }
    }