Я пытаюсь вызвать вздохнувший апплет нажатием кнопки GWT.Я попытался пройти через метод gwtai, создав интерфейс на стороне клиента, затем написав апплет, который реализует интерфейс. Однако я получаю исключение TargetInvokationException при вызове метода для события onClick ().
Вот кодЯ написал:
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
Любая помощь по этому поводу приветствуется.
Я также создал подписанную банку моего апплета. Не могли бы вы подсказать, есть ли лучший способ вызова этого метода captureScreenShot () со страницы моего GWT на кнопке?щелкните и получите результат обратно.
Также JSNI - лучший способ сделать это.Если да, то можете ли вы показать пример, где апплет, который передает значение обратно, вызывается.
Большое спасибо за продвинутый уровень.
PS: я использовал эту страницу для основы своего кода на gwtai:
http://code.google.com/p/gwtai/wiki/GettingStarted
Спасибо,
Amol