import java.awt.*;
import javax.swing.*;public class InfoImage extends JPanel
{
    private DrawImage ImagePanel;
    public InfoImage()
    {
         ImagePanel=new DrawImage();
         this.add(ImagePanel,BorderLayout.CENTER);
         this.setVisible(true);
    }
    class DrawImage extends JPanel
    {
        private ImageIcon icoImage;
        public DrawImage()
        {
            icoImage=new ImageIcon("images\\"+"1.jpg");
            setSize(icoImage.getIconWidth(),icoImage.getIconHeight());
        }
        public void paint(Graphics g)
        {
         g.drawImage(icoImage.getImage(),0,0,icoImage.getIconWidth(),icoImage.getIconHeight(),this);
        }
    }
    public static void main(String argv[])
    {
        JFrame jf=new JFrame();
        jf.add(new InfoImage());
        jf.pack();
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

解决方案 »

  1.   

    感觉Panel是不是 范围不是 真个画面 
    看上去就是一个条
    图片显示不全
      

  2.   

    显示图片我建议用 BufferedImage 
    我个人认为
      

  3.   

    给InfoImage加个setLayout(null);jf设置个size
      

  4.   

    也有可能是在icoImage=new ImageIcon("images\\"+"1.jpg"); 中找不到"images\\"+"1.jpg"文件
      

  5.   

    这样就好了!!
    注意 pack和setSize的位置
    否则是不能看到图片的!除非你最大化frame
    再者就是设置InfoImage 布局为null
    这样添加panel不至于只是一部分
    关于 pack()
    是根据容器内的组件以最优的方式调整容器的大小.import java.awt.*; 
    import javax.swing.*; public class  InfoImage extends JPanel 

        /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private DrawImage ImagePanel; 
        public InfoImage() 
        { 
         setLayout(null);
        
            ImagePanel=new DrawImage(); 
            this.add(ImagePanel,BorderLayout.CENTER); 
            this.setVisible(true); 
        } 
        class DrawImage extends JPanel 
        { 
            /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private ImageIcon icoImage; 
            public DrawImage() 
            { 
            
                icoImage=new ImageIcon("D:\\Documents and Settings\\Administrator\\桌面\\http_imgload.jpg"); 
               setSize(icoImage.getIconWidth(),icoImage.getIconHeight()); 
                //setSize(400,400);
                System.out.println(icoImage.getIconHeight());
            } 
            public void paint(Graphics g) 
            { 
            System.out.println(icoImage.getIconHeight());
            g.drawImage(icoImage.getImage(),0,0,icoImage.getIconWidth(),icoImage.getIconHeight(),this); 
            } 
        } 
        public static void main(String argv[]) 
        { 
            JFrame jf=new JFrame(); 
            
            jf.pack(); 
            jf.setSize(400,400);
           
            jf.add(new InfoImage()); 
            
            jf.setVisible(true); 
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        } 
    }