在eclipse中使用windowbuilder进行Java应用程序的I / O

时间:2017-12-19 20:11:56

标签: java eclipse windowbuilder

我之前从未使用过java windowbuilder,但是我试图用我的程序对它进行测试,该程序在集合上执行操作。这是Gradle项目。我在默认包中写了所有类(我知道在我完成时它已经气馁了)。程序读取集合上的一系列操作,解析它并打印结果,并在用户输入新行时继续这样做。 我正在尝试使用windowbuilder为这个程序创建一个简单的GUI,但我无法弄清楚如何在windowbuilder类中运行主类并使其从jtextfield获取输入并打印输出。

我的主要看起来像这样:

public static void main(String[] argv) { 
        new Main().start(); 
    } 

    private void start() { 
        hmap  = new HashMap<IdentifierInterface, SetInterface<BigInteger>>();
        Scanner in = new Scanner(System.in);  
        // While there is input, read line and parse it. 
        while (in.hasNextLine()) { 
            try { 
                String statement = in.nextLine(); 
                if (statement.trim().isEmpty()) { 
                    System.out.println("error, no statement"); 
                } else { 
                    Scanner statementScanner = new Scanner(statement); 
                    readStatement(statementScanner); 
                } 
            } catch (APException e) { 
                System.out.printf("%s\n", e.getMessage()); 
            } 
        }
    } 

我创建了一个新的windowbuilder类,包含按钮和文本字段,但我仍然坚持如何在windowbuilder中运行main。非常感谢您的帮助。提前致谢。

1 个答案:

答案 0 :(得分:0)

Eclipse RCP应用程序是OSGi插件;他们没有main()方法。

相反,您的Main类应该如下所示:

package com.myplugin;

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;

public class Main implements BundleActivator {
    @Override
    public void start(BundleContext bundleContext) throws Exception {
        // Copy your start logic here
    }
}

然后编辑META-INF / MANIFEST.MF文件并设置为例如

Bundle-Activator: com.myplugin.Main

这使您的Main类成为插件的激活器:start()将在加载时调用。