如何在Java Swing应用程序框架中处理命令行参数

5

我正在尝试获取从命令行传递的参数,当我运行我的应用程序时。我有一个通过NetBeans创建的项目,使用SingleFrameApplication类或swing应用程序框架。主方法进行调用。

launch(MyApp.class, args);   

在它的主方法中。在http://java.sun.com/developer/technicalArticles/javase/swingappfr/发现的文档说:
引导方法调用应用程序的可选初始化方法,仅在调用启动方法之前。您可以使用初始化方法执行任何初始配置或设置步骤。例如,您可以在initialize方法内处理命令行参数。您还可以检查数据库连接或设置系统属性。简而言之,框架为您的应用程序提供此方法,用于显示UI之前所需的任何非UI相关设置。Application和SingleFrameApplication类为初始化方法提供一个空方法体。默认情况下,该方法不执行任何操作。
我们在这里讨论MyApp.initialize方法吗?如果是这样,似乎没有提到args参数。
编辑:这不是小应用程序,而是桌面应用程序。请记住,它使用Swing Application Framework,这意味着它有一个“启动器”类来启动主Java类GUI。一个代码片段可能是:
public class MyApp extends SingleFrameApplication {

@Override protected void startup() {
    MyAppGUI view = new MyAppGUI(this);

    show(new MyAppGUI(this));
}

public static void main(String[] args) {
    launch(MyAppGUI.class, args);
}

有些细节缺失。这是一个Applet吗?你现在是如何启动它的? - jzd
2个回答

2
是的,你需要覆盖initialize(...)方法。在你提供的链接中,有Code Example 6,展示了如何使用initialize(...)方法。它明确包含了命令行参数。
public class HelloWorld extends SingleFrameApplication {
    ...

    @Override
    protected void initialize(String[] args) {
        ...
    }
}

1

摘自官方Sun文档。将此代码添加到您的应用程序类中。

@Override
protected void initialize(String[] args) {
   ...
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接