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);
}
}
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);
}
}
看上去就是一个条
图片显示不全
我个人认为
注意 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);
}
}