小编Dat*_*uti的帖子

如何在Java中使用非静态(动态实例)对象作为静态方法的返回?

我搜索了stackoverflow以及其他一些网站,遗憾的是没有找到这个问题,更不用说回答.也许我的方法最好尝试另一种方式?我是Java新手; 这应该是我想的一个非常简单的答案.

问题: 我有一个静态方法,我想从中返回值.为了方便和整洁,我想使用我自己的类而不是ArrayList,String []或类似的.问题是我无法在静态方法中实例化我的类(正如我预期的那样可能是一个问题).有趣的是:使用String []Object作为返回工作(这是这些类的一个实例)...所以为什么我不能使用我自己的类实例?

例:

public static String[] decodeText(String codeString) {
    //Parse codestring and return values (not included in this example)
    String[] data = new String[3];
    data[0]="This";
    data[1]="does";
    data[2]="work";                
    return data;
}
Run Code Online (Sandbox Code Playgroud)

上面的工作很好但是当我使用自己的类返回值时,编译器给我"非静态变量,不能从静态上下文中引用" (注意:编辑以显示这些类嵌套在JInputs类中,显然有必要重现错误):

public class JInputs extends JOptionPane {    
    //A lot of missing code here (which shouldn't be necessary to reproduce issue)

    public class UserData {
        public String userName;
        public String code;
        public long milliTime; …
Run Code Online (Sandbox Code Playgroud)

java static return

7
推荐指数
2
解决办法
182
查看次数

Javascript桥接/上传到JavaFX(通过JSObject.setMember()方法)在分发时中断

问题

我花了几个小时试图确定我的分布式代码失败的原因,但是在使用IDE(NetBeans)调试时我的源代码没有问题.我找到了一个解决方案,并发帖帮助其他可能有类似问题的人.顺便说一句:我是一个自学成才的程序员,可能会缺少一些基本概念 - 随时教育我.

背景资料

在JavaFX应用程序中使用WebView控件我从html文件加载网页.我想使用JavaScript来处理HTML方面,但我还需要在Java和JavaScript之间自由传递信息(两个方向).非常适合使用WebEngine.executeScript()方法进行Java启动的传输,并使用Java中的JSObject.setMember()为JavaScript启动向Java传输信息的方法.

设置链接(这种方式稍后会破坏):

/*Simple example class that gives method for 
JavaScript to send text to Java debugger console*/
public static class JavaLink {
    public void showMsg(String msg) {
        System.out.println(msg);
    }
}

...

/*This can be added in the initialize() method of  
the FXML controller with a reference to the WebEngine*/
public void initialize(URL url, ResourceBundle rb) {
    webE = webView.getEngine();

    //Retrieve a reference to the JavaScript window object
    JSObject jsObj = (JSObject)webE.executeScript("window");
    jsObj.setMember("javaLink", new JavaLink());
    /*Now …
Run Code Online (Sandbox Code Playgroud)

javascript bridge javafx jar jsobject

4
推荐指数
1
解决办法
1033
查看次数

标签 统计

bridge ×1

jar ×1

java ×1

javafx ×1

javascript ×1

jsobject ×1

return ×1

static ×1