GWTボタンクリックで一声のアプレットを呼び出そうとしています。クライアント側でインターフェイスを作成し、次にインターフェイスを実装するアプレットを作成するgwtaiメソッドを試してみました。私のonClick()イベントでメソッドを呼び出すと、TargetInvokationExceptionが発生します。ボタンクリック時にGWTから値を返す一口のアプレットを呼び出す方法
screenCap.addListener(new ButtonListenerAdapter() {
public void onClick(Button button, EventObject e) {
String filePath = counterApplet.captureScreenShot(); (Throws exception here)
TextField filePathT = new TextField();
マイアプレットインタフェース:ここ
は、私が書いたコードですimport com.google.gwt.gwtai.applet.client.*;
@ImplementingClass(com.jpmorgan.rd.querymanager.applet.imageCaptureAppletImpl.class)
@Height("10")
@Width("10")
@Archive("GwtAI-Client.jar,GwtAI-Demo.jar")
public interface imageCaptureApplet extends Applet {
String captureScreenShot();
}
マイアプレットの実装クラス:
import java.awt.*;
import javax.swing.JApplet;
public class imageCaptureAppletImpl extends JApplet implements imageCaptureApplet{
private static final long serialVersionUID = -511774647966368672L;
public String captureScreenShot() {
String file;
// do something
return file;
}
とフルスタックトレース:
load: class com.amol.test.imageCaptureAppletImpl.class not found. java.lang.ClassNotFoundException: com.jpmorgan.rd.querymanager.server.imageCaptureAppletImpl.class at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 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.io.IOException: open HTTP connection failed:http://127.0.0.1:8888/com/amol/test/imageCaptureAppletImpl/class.class at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 9 more Exception: java.lang.ClassNotFoundException: com.amol.test.imageCaptureAppletImpl.class
これに関するお手伝いがあります。
また、私のアプレットの署名付きのjarファイルを作成しました。あなたのボタンをクリックして結果を戻すGWTページからこのcaptureScreenShot()メソッドを呼び出すより良い方法があれば教えてください。
JSNIもこれを行う良い方法です。可能であれば、値を返すアプレットが呼び出される例を表示できます。
多くの方に感謝します。
PS:私はgwtaiの私のコードに基づいために、このページを使用:
http://code.google.com/p/gwtai/wiki/GettingStarted
おかげで、
て、Amol
こんにちはアドリアン、まずはお返事ありがとうございます。私はsomemoreを調査し、クラスが私のJavaコンソールで例外であることが判明していないことが分かりました。これは理由です。ここにエラートレースがあります。 –
アプレットインタフェースでは、@Archive( "GwtAI-Client.jar、GwtAI-Demo.jar")というアノテーションを使用しています。したがって、アプレットのランタイムは、これらの2つのjarファイルを探していて、そこからimageCaptureAppletImplクラスをロードしたいとします。クラスがこれらのjarファイルの1つにあり、アクセス可能であることを確認してください。 –
こんにちはAdrian私はそれを試しました、私はここにJarLinkerによって作成された瓶を含めた。しかし、問題は、com/amol/test/imageCaptureAppletImpl.classではなく、com/amol/test/imageCaptureAppletImpl/class.classを探して見つけられないということです。 –