当前位置: 技术问答>java相关
Image只能画在Applet里吗?请进来看看这个程序
来源: 互联网 发布时间:2015-03-10
本文导语: 这个程序用appletviewer运行正常显示,而直接java运行就抛出空指针异常,请问为什么呢? import java.applet.Applet; import java.awt.*; public class PaintImage extends Applet { public static void main(String args[]) { Frame f=new...
这个程序用appletviewer运行正常显示,而直接java运行就抛出空指针异常,请问为什么呢?
import java.applet.Applet;
import java.awt.*;
public class PaintImage extends Applet
{
public static void main(String args[])
{
Frame f=new Frame("PaintImage Example");
PaintImage pi=new PaintImage();
f.add(pi);
f.setBounds(100,100,500,500);
f.setVisible(true);
}
private Image im;
public void init()
{
im = createImage(300, 200);
Graphics imgc = im.getGraphics();
imgc.setColor(Color.yellow);
imgc.fillRect(0, 0, 300, 200);
imgc.setColor(Color.blue);
imgc.fillOval(50, 50, 100, 100);
}
public void paint(Graphics g)
{
g.drawImage(im, 25, 80, this);
}
}
import java.applet.Applet;
import java.awt.*;
public class PaintImage extends Applet
{
public static void main(String args[])
{
Frame f=new Frame("PaintImage Example");
PaintImage pi=new PaintImage();
f.add(pi);
f.setBounds(100,100,500,500);
f.setVisible(true);
}
private Image im;
public void init()
{
im = createImage(300, 200);
Graphics imgc = im.getGraphics();
imgc.setColor(Color.yellow);
imgc.fillRect(0, 0, 300, 200);
imgc.setColor(Color.blue);
imgc.fillOval(50, 50, 100, 100);
}
public void paint(Graphics g)
{
g.drawImage(im, 25, 80, this);
}
}
|
当然啦,applet只能用appletview来看,java是运行应用程序的。
|
init()方法是在APPLET装入时自动运行的,在APPLICATION下程序运行的入口是main()方法,此时你的init()没有被执行。可以创建一个新方法来实例化你的image。