求助:java应用程序中getImage读不到图片问题
以下代码以applet方式可以显示的图片(后台也有抛出异常),以应用程序方式运行时却看不到图,不知道怎么做才可以读取到图片呢?
/*
<applet code="DisplayImage.class" width=500 height=400>
</applet>
*/
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
import java.awt.Image;
import java.net.*;
public class DisplayImage extends java.applet.Applet
{
Image img;
int w = 0;
int h = 0;
public static void main(String[] args)
{
Frame frame = new Frame("Application");
DisplayImage image = new DisplayImage();
frame.add("Center",image);
frame.setSize(200,200);
frame.validate();
frame.setVisible(true);
frame.addWindowListener(new WindowControl(image));
image.init();
image.start();
}
public void init()
{
URL u = null;
try
{
u = new URL("file:/h:/bean/1.gif");
}
catch(Exception e)
{
e.printStackTrace();
}
img = getImage(u);
}
public void paint(Graphics g)
{
w = img.getWidth(this);
h = img.getHeight(this);
g.drawImage(img,20,10,this);
}
public void destroy(){
System.exit(0);
}
}
class WindowControl extends WindowAdapter
{
java.applet.Applet c;
public WindowControl(java.applet.Applet c) {
this.c=c;
}
public void windowClosing(WindowEvent e) {
c.destroy();
}
}
----------------------------------------------------------------------
以applet运行时后台显示的异常是:
java.security.AccessControlException: access denied (java.lang.RuntimePermission
exitVM)
at java.security.AccessControlContext.checkPermission(AccessControlConte
xt.java:269)
at java.security.AccessController.checkPermission(AccessController.java:
401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
at java.lang.SecurityManager.checkExit(SecurityManager.java:736)
at java.lang.Runtime.exit(Runtime.java:88)
at java.lang.System.exit(System.java:715)
at DisplayImage.destroy(DisplayImage.java:53)
at sun.applet.AppletPanel.run(AppletPanel.java:450)
at java.lang.Thread.run(Thread.java:534)