我有一个小程序,里面有一些按钮,这些按钮有图像图标。我还用这个applet制作了一个HTML文件。每当我从服务器(Apache tomcat)打开此页面时,都会发生异常:
java.lang.reflect.InvocationTargetException.但是如果我在没有图标的情况下运行,就没有问题了。有没有人能帮我,让我用按钮图标加载小程序?
Image myImage = getToolkit().createImage("image/REC1.jpg");
ImageIcon myIcon = new ImageIcon(myImage);
button.setIcon(myIcon);发布于 2012-07-04 18:30:44
Toolkit.createImage(String)
返回一个图像,该图像从指定的文件中获取像素数据。返回的图像是一个新对象,不会与此方法或其getImage变体的任何其他调用者共享。
此方法首先检查是否安装了安全管理器。如果是,则该方法使用指定的文件调用安全管理器的checkRead方法,以确保允许创建映像。
我把两部分加粗了:
小程序资源访问
如果使用沙箱,小程序需要从‘主服务器’加载资源,通过URL。
图标可能是嵌入的资源,在applet元素的archive属性中引用的Jar中,但是如果它们作为图像加载到服务器,则可以相对于文档库或代码库访问它们。下面是包含REC1.jpg的目录的HTML子目录中名为image的图像的外观。
URL url = new URL(getDocumentBase(), "image/REC1.jpg");
Image myImage = getToolkit().createImage(url);发布于 2012-07-04 16:48:00
您也可以使用.PNG文件格式。并使用小写字母作为文件名。
https://stackoverflow.com/questions/11325466
复制相似问题