如何从javascript调用codenameone java类方法?

如何从javascript调用codenameone java类方法?,javascript,codenameone,Javascript,Codenameone,我有一个codenameone类,其中包含一个为移动应用程序上载文件的方法。我想在用户单击上载按钮时,从我的javascript函数调用该codenameone类方法 下面是我的codenameone类方法,它将上载一个文件 public void actionPerformed1(){ if (FileChooser.isAvailable()) { FileChooser.showOpenDialog("image/*", e2-> {

我有一个codenameone类,其中包含一个为移动应用程序上载文件的方法。我想在用户单击上载按钮时,从我的javascript函数调用该codenameone类方法

下面是我的codenameone类方法,它将上载一个文件

public void actionPerformed1(){ 
    if (FileChooser.isAvailable()) {
        FileChooser.showOpenDialog("image/*", e2-> {
            String file=null;
            if(e2!=null){
                file = (String)e2.getSource();
            }
            if (file == null) {
                hi.revalidate();
            } else {
                String extension = null;
                if (file.lastIndexOf(".") > 0) {
                    extension = file.substring(file.lastIndexOf(".")+1);
                }
                if ("txt".equals(extension)) {
                    FileSystemStorage fs = FileSystemStorage.getInstance();
                    try {
                        InputStream fis = fs.openInputStream(file);
                        hi.addComponent(new SpanLabel(Util.readToString(fis)));
                    } catch (Exception ex) {
                        Log.e(ex);
                    }
                } else {
                    hi.add("Selected file "+file);
                }
            }
            hi.revalidate();
        });
    }
<pre>
    type="button" value="call method"    
    onClick = "document.FileChooserDemo.actionPerformed1()" 
</pre>
下面是我的html文件,我将在其中使用javascript调用codenameone ActionPerforme1()方法


type=“button”value=“调用方法”
onClick=“document.FileChooserDemo.actionPerformed1()”
我可以在javascript中做什么来调用codenameone方法

谢谢。

查看标题为“从Javascript调用Java方法”的部分

然后通过JavaScript,这将起作用:

@昆汀不是一个Java小程序。你正在颠倒阅读代码这是一个嵌入式移动应用程序。。。
JSObject logger = (JSObject)ctx.get("{}");
logger.set("log", new JSFunction(){

    public void apply(JSObject self, Object[] args) {
        String msg = (String)args[0];
        Log.p("[Javascript Logger] "+msg);
    }

});

ctx.set("window.logger", logger);
logger.log('This is a test message');