标签: applet

更改已签名的Java小程序的"名称"值

我自己签了一个java applet,所以当用户在浏览器中查看这个applet时,浏览器会显示一个无法验证数字签名确认对话框.这一切都没问题,但是这个确认对话框中"Name:"属性(在"Publisher:"属性上方看到)的值被设置为我不记得在进行签名时设置的内容.

所以我的问题是,这个价值来自哪里,我该如何改变呢?

java applet signing

7
推荐指数
1
解决办法
2425
查看次数

如何在Graphics方法中使用ImageObserver drawImage()

我试图使用的方法是:drawImage(image,int,int,int,int,ImageObserver)方法,以便我可以扩展我的图像,在我看到的所有示例中,ImageObserver应该是这个,但这不是似乎工作(即我见过的唯一方法是:drawImage(image,int,int,ImageObserver),不知道这是否有所不同).

这是我的主要类applet:

import java.applet.*;
import java.awt.*;

public class Main extends Applet implements Runnable{
    private Thread th;
    private Hitter hitter;

    //double buffering
    private Graphics dbg;
    private Image dbImage;

    public void init(){
        hitter = new Hitter(getImage(getCodeBase(), "Chitter.png"));
    }

    public void start(){
        th = new Thread(this);
        th.start();
    }

    public void stop(){
        th.stop();
    }

    public void update(Graphics g){
        if(dbImage == null){
            dbImage = createImage(this.getSize().width, this.getSize().width);
            dbg = dbImage.getGraphics();
        }

        dbg.setColor(getBackground());
        dbg.fillRect(0, 0, this.getSize().width, this.getSize().height);
        dbg.setColor(getForeground());
        paint(dbg);

        g.drawImage(dbImage, 0, 0, this);
    }

    public void paint(Graphics …
Run Code Online (Sandbox Code Playgroud)

java applet image scale draw

7
推荐指数
1
解决办法
3万
查看次数

KeyListener事件显然没有在java applet中触发

我刚刚开始学习编程applet和java GUI,我试图制作一个简单的游戏.目前,我有主要类(游戏)和玩家类(玩家)我让玩家画到屏幕上,但我很难让关键事件发挥作用,任何帮助赞赏!

玩家图像显示完全正常,但当我完全按下按键时位置不会改变.

编辑:为播放器发布错误代码,更新

Game.java:

public class Game extends Applet {

    Player player;

    @Override
    public void init() {
        player = new Player(this);
        this.setSize(800, 600);
        addKeyListener(player);
    }

    @Override
    public void paint(Graphics g) {        
        player.paint(g);
    }



}
Run Code Online (Sandbox Code Playgroud)

Player.java:

public class Player implements KeyListener {

    Game game;
    Image image;
    int x;
    int y;

    public Player(Game game) {
        this.game = game;
        x = 0;
        y = 0;
        image = game.getImage(game.getCodeBase(), "images/Player.png");
    }

    public void paint(Graphics g) {
        g.drawImage(image, x, y, game);
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java applet awt keylistener

7
推荐指数
1
解决办法
5295
查看次数

Java applet是否是新Web内容的不良选择?

我在一家政府科学机构工作,通过我们的网站提供大量技术信息.Web开发并不是我们的强项,但我们顺便说一下.我们当前的许多内容都是通过Java applet提供的.最近我们得到了用户的反馈,他们无法访问网站的各个部分,因为他们的浏览器(主要是Safari和Firefox)由于安全问题而禁用了Java.当然,这可以通过升级和/或改变偏好来解决,但仍然会给非精明用户带来过高的障碍.

所以我的问题是Java applets的可能未来是什么?这种方法可能会变得不那么常见,并且不能/不会运行它们的浏览器配置比例会增加吗?正如我所提到的,我的组织(和我自己)不是网络开发专家,因此我们对趋势没有很好的认识.新内容是否应该用Java applet以外的东西编写(我们最近开发的内容使用JavaScript代替).我们是否应该计划将applet转换为响应不断减少的支持?

applet

7
推荐指数
1
解决办法
1044
查看次数

在HTML中使用applet?

我想在html文档中使用这个applet 这个applet.在本网站的示例中,他们使用:

<applet code="de.wim.outldd.examples.DragDropTest_Applet"
    width="150" height="150" alt="Applet1" archive="soutldd.jar">
</applet>
Run Code Online (Sandbox Code Playgroud)

我尝试时它不起作用.我的HTML文档位于解压缩目录的中间.我怎样才能在html中使用applet,有人请试试这个.

控制台中的错误

java.lang.RuntimeException: java.lang.ExceptionInInitializerError
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
    at de.wim.outldd.OutlookDD.init(OutlookDD.java:73)
    at de.wim.outldd.examples.DragDropTest_Applet$1.run(DragDropTest_Applet.java:29)
    at java.security.AccessController.doPrivileged(Native Method)
    at de.wim.outldd.examples.DragDropTest_Applet.<init>(DragDropTest_Applet.java:26)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

html java applet

7
推荐指数
1
解决办法
4754
查看次数

目标applet或JVM进程突然退出

Target applet or JVM process exited abruptly有时会收到消息,而且它不会连续出现,因此我无法在Java控制台关闭之前跟踪日志.我尝试使用增加堆大小

<PARAM name="java_arguments" value="-Xmx128m"> ,

<PARAM name="java_arguments" value="-Xmx300m"> ,

<PARAM name="java_arguments" value="-Xmx512m">

但它不起作用.同样的问题已经问过.我还尝试使用单独的JVM加载Applet

<PARAM name="separate_jvm" value="true">

http://www.techques.com/question/1-11284843/uncaught-exception:-Target-applet-or-JVM-process-exited-abruptly---from-a-firefox-extension

未捕获的异常:目标applet或JVM进程突然退出 - 来自firefox扩展

/sf/ask/1237370571/

java applet jvm

7
推荐指数
1
解决办法
4113
查看次数

Java 8升级后,Java applet将无法在IE中加载

我有一个Java小程序,用于从用户的PC读取SD卡数据.小程序位于您登录的网站上.要登录网站,您必须使用浏览器证书.登录后,您将进入SD卡下载页面,applet初始化,读取卡片数据,并将其发送到页面上的某些JavaScript.

我现在遇到的问题是,在我的浏览器上安装Java 8后,applet无法加载.具体来说,它不适用于任何版本的IE(测试8,9,10和11).它在Firefox中运行良好.我还没试过Chrome.

我没有找到任何有类似问题的人.可能是因为它相对较新.有谁知道为什么会这样,并知道如何解决它?

IE8中的Java控制台中有一个看起来相关的堆栈跟踪.这是一些有趣的部分:

javax.net.ssl.SSLHandshakeException: Error signing certificate verify
...
Caused by: java.security.InvalidKeyException: No installed provider supports this key: com.sun.deploy.security.MSCryptoRSAPrivateKey
...
com.sun.deploy.net.FailedDownloadException: Unable to load resource: https://xdc-fqq02.example.com/cardtocloud/cardtocloud.jnlp
Run Code Online (Sandbox Code Playgroud)

编辑:这是另外一条信息.applet可以在与OpenSSL 1.0.1i不同的服务器上正常运行.该applet不适用于具有OpenSSL 1.0.0m的原始服务器.

这是完整的日志.堆栈跟踪不会出现在Firefox的日志中.

Java Plug-in 11.25.2.18
Using JRE version 1.8.0_25-b18 Java HotSpot(TM) Client VM
User home directory = C:\Users\codyj
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q: …
Run Code Online (Sandbox Code Playgroud)

java applet certificate java-8

7
推荐指数
1
解决办法
3万
查看次数

不一致的jpos.xml加载

我有一个applet成功加载WinXP和W2003SRV中的jpos.xml,同时使用JRE 6.045和7.025(是旧的和过时的),但它可以工作.但是,相同的代码无法在Win7Pro中加载jpos.xml.装载在这里.javaPOS出现不允许从jar或war显式加载.有人可以指出为什么不一致和解决方案?

 JposEntryRegistry registry = JposServiceLoader.getManager().
     getEntryRegistry();
registry.load();
Run Code Online (Sandbox Code Playgroud)

更新:我试图直接用String location = this.getCodeBase.toString +"WEB-INF/classes/jpos.xml"registry.getRegPopulator.load(location)加载文件; 没有结果如果我尝试通过URL打开一个InputStream,我得到:FileNotFound.java.io.FileNotFoundException:http:// localhost:8083/10sdaanyd/WEB-INF/classes/jpos.xml 如果Jpos注册表失败并采用标准方法(违反"一次性使用写入"),如何手动填充Jpos注册表Win7Pro.任何人的见解?

UPDATAE01在之后,我将参数放在applet标签中,在Win7Pro上仍然失败,但是在Win7Home上是不正常的(是的,一切都是相同的).检测registry.getSize()== 0我加载文件,第一次看到它缓存并且它没有填充注册表.我已经下载了jpos113和所有必要的罐子.我从应用程序上下文的根目录加载它.不一致部署的想法?

实际上下面是未缓存的痕迹

network:下载资源:http ://10.0.0.50:8083/10sdaanyd/jpos.xml Content-Length:6,245 Content-Encoding:null network:写了URL http://10.0.0.50:8083/10sdaanyd/jpos.xml到文件C:\ Users\ExecAssist00\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\58\60dbe6ba-72fcf580-temp network:CleanupThread使用1 us

779 [thread applet-javapos.appletPOS_00-3] DEBUG javapos.appletPOS_00 - start:in registry == 0:registry.getSize()= 0即将打印classpath.urls.length = 1/C:/ Program%20Files%20(x86)/ Java/jre6/classes codebase:http ://10.0.0.50:8083 /10sdaanyd/ jpos.JposException:加载的JCL注册表中不存在服务

xml applet javapos

7
推荐指数
0
解决办法
386
查看次数

如何在浏览器和Java Web Start applet之间进行通信

现在的情况

我们目前使用applet执行一些操作,然后重定向当前页面.在其核心中,您可以看到applet如下:

public class ExampleApplet extends Applet {
    @Override
    public void init() {
        Button redirect = new Button("Redirect");
        this.add(redirect);
        final String target = this.getParameter("targetPage");
        redirect.addActionListener((ActionEvent e) -> {
            try {
                getAppletContext().showDocument(new URL(target), "_parent");
            } catch (MalformedURLException ex) {}
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

以最简单的方式调用applet:

<applet code="com.example.applet.ExampleApplet.class" archive="${appletUrl}" width="100" height="30">
    <param name="targetPage" value="http://localhost:8080/applet/"/>
</applet><br/><br/>
Run Code Online (Sandbox Code Playgroud)

其中${appletUrl}返回applet JAR的位置.

所以applet只不过是一个调用getAppletContext().showDocument(new URL(target), "_parent");刷新当前页面的简单按钮.这已经很长时间正确地完成了它的工作.现在这是问题所在.

移民

众所周知,Chrome不支持Applets.从那时起搁置一段时间IEFireFox仍然支持他们.在2016年底,他们也将不再支持他们.所以我们决定使用JWS和迁移applet JNLP.

迁移此简单重定向按钮示例将提供以下html代码段和JNLP文件:

<a href="${jnlpUrl}">Launch JNLP</a> …
Run Code Online (Sandbox Code Playgroud)

java browser jnlp applet java-web-start

7
推荐指数
1
解决办法
6828
查看次数

使用Jaxb和JDK 9在applet中进行非法反射访问

我有一个Java applet,它提供了一个GUI来调用Web服务.它使用Jaxb来解析XML数据并将其解组为对象.它使用Java 1.5到1.8正确运行.使用Java 9,不是那么多.

我使用容器HTML在Internet Explorer 8 + JDK 9中启动它:

<applet code="com.blah.MyApplet" archive="myFatJarWithDependencies.jar" mayscript>
    <param name="cache_option" value="no" />
</applet>
Run Code Online (Sandbox Code Playgroud)

小程序加载很好,似乎工作; 但是,一旦我连接到Web服务,它那种停止工作.我把它缩小到这个代码片段(其中Foo是一个带有XML绑定注释的自动生成的类):

System.out.println("1");
JAXBContext jc = JAXBContext.newInstance(Foo.class);
System.out.println("2");
Run Code Online (Sandbox Code Playgroud)

Java的控制台显示1,然后......没有:它没有崩溃,applet仍然响应鼠标点击,它不会抛出任何异常......似乎根本没有错误.除了它没有对接收的数据做任何事情,它从不输出2.我已经尝试了替代JAXBContext.newInstance方法(使用包名,包名加上类加载器),但它们都是一样的.

如果我使用相同的JDK 9从Eclipse Oxygen运行项目,它确实有效.当我连接到Web服务时,它会输出一些警告,包括:

WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector 
(file:/C:/.../.m2/repository/com/sun/xml/bind/jaxb-impl/2.0/jaxb-impl-2.0.jar) to method
java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access
operations
Run Code Online (Sandbox Code Playgroud)

但随后它继续并加载数据(并输出2到控制台).我的猜测是同样的问题,即使Java控制台中没有显示警告.也许JDK默认--illegal-access=deny是从IE运行的时候?或者"默默地否认 - 所以 - 用户 - 不要发生什么线索" …

java applet jaxb java-9 java-module

7
推荐指数
1
解决办法
3121
查看次数