日期:2014-05-20  浏览次数:20762 次

J2SE读取图片问题
import   java.awt.*;
import   javax.swing.*;
import   javax.swing.event.*;
import   java.awt.event.*;

public   class   SwingDemo   extends   JFrame
{
P   p;
public   SwingDemo()
{
Container   con=this.getContentPane();
p=new   P();
con.add(p,BorderLayout.NORTH);
}
public   static   void   main(String   args[])
{
SwingDemo   f=new   SwingDemo();
f.setDefaultCloseOperation(3);
f.setSize(400,300);
f.setVisible(true);
}
class   P   extends   JPanel
{
public   void   paintComponent(Graphics   g)
{
Image   image=Toolkit.getDefaultToolkit().getImage( "image//logo.GIF ");
MediaTracker   m=new   MediaTracker(this);
m.addImage(image,0);
try   {
m.waitForID(0);
}   catch   (InterruptedException   e){e.printStackTrace();}
int   w=image.getWidth(this);
int   h=image.getHeight(this);
g.drawImage(image,0,0,this);
for(int   i=0;i*w <getWidth();i++)
for(int   j=0;j*h <getHeight();j++)
{
g.copyArea(0,0,w,h,i*w,j*h);
}
}
}
}
大家看!con.add(p,BorderLayout.NORTH);
我用的是这种布局方式!如果要是不用布局就可以解决这个问题!
为什么呢?谁能给解释一下!
还有我应该怎么做?谢谢

------解决方案--------------------
你把p设的大一点setPreferredSize(new Dimension(200,200));