首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GetImage与JApplet

GetImage与JApplet
EN

Stack Overflow用户
提问于 2013-10-27 03:44:12
回答 1查看 438关注 0票数 2

我有以下可运行的代码:

代码语言:javascript
复制
import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JPanel;


public class Main extends JApplet{
    public static Main instance;
    public static ImageIcon getImage(String fname){
        return new ImageIcon(instance.getImage(instance.getDocumentBase(),fname));
    }
    public void init(){
        instance = this;
        @SuppressWarnings("serial")
        JPanel p = new JPanel(){
            ImageIcon img = getImage("YES.png");
            public void paintComponent(Graphics g){
                super.paintComponent(g);
                if(img != null)
                g.drawImage(img.getImage(),0,0,getWidth(),getHeight(),null);
            }
        };
        this.setContentPane(p);
    }
}

当我在eclipse中运行这个程序时,它可以工作。但是,当我在google上使用以下html文档运行它时:

代码语言:javascript
复制
<html>
<head>
    <title>VResponse</title>
    <style type="text/css">
        body{
            background-color:white;
            padding:1%;
        }
    </style>
</head>
<body>
<div>
<applet code="Main.class" width="800" height="600" />
</div>
</body>
</html>

我得到以下空指针异常。

代码语言:javascript
复制
java.lang.NullPointerException
    at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
    at sun.awt.SunToolkit.getImage(Unknown Source)
    at Main.getImage(Main.java:15)
    at Main$1.<init>(Main.java:21)
    at Main.init(Main.java:20)
    at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我该怎么补救?

http://vickysoderlund.atspace.cc/ /--=带有错误japplet的网页

您应该能够在这里下载整个文件夹:https://drive.google.com/file/d/0B0ng1kJkou-lcUlmWk91bEVXX28/edit?usp=sharing

而SRC代码在这里:https://drive.google.com/file/d/0B0ng1kJkou-lYXRERWFnU1czX0k/edit?usp=sharing

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-02 04:42:55

这个问题与安全有关。当我对Applet签名,并在清单中给它一个好的权限节点时,它消除了错误。

我在舱单中添加了以下内容:

代码语言:javascript
复制
Permissions: all-permissions
Codebase: *.hobogames.atspace.cc
Application-Name: GreenCube

我使用以下命令在命令提示符中签名:

代码语言:javascript
复制
cd homeDirectory
keytool -genkey -alias alias -keystore .keystore

cd directoryOfJar
jarsigner jar-file alias

化名通常是你的名字。

这解决了一些安全问题,并允许我加载图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19614398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档