从主类访问helper类的成员方法(netbeans的swing编辑器)

时间:2010-06-22 16:18:54

标签: java swing netbeans

我刚开始使用netbeans中的Gui Programming(使用模板Java Desktop Application)。但是我已经卡住了。在我的主要课程中,我有一些可以从Gui调用的方法。这些方法在外部文件上执行某些操作,如果出现错误,它们应该打开一个新窗口,显示错误消息。

但是我无法从我的主类访问Gui-Class的成员方法,所以我无法打开新窗口。以下是netbeans主类(= MyProgrammApp.class)如何调用gui-class(MyProgrammView.class)。

//MyProgrammApp.class:
public class MyProgrammApp extends SingleFrameApplication {

@Override protected void startup() {
        show(new MyProgrammView(this));
    }

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

    [...]    
    }

这是gui类构造函数的相关部分:

//MyProgrammView.class:
public MyProgrammView(SingleFrameApplication app) {
        super(app);

        initComponents();

        [...]
        }

这个gui类有一个公共方法showErrorBox,它会打开带有错误信息的窗口。

我的问题是,我不理解创建gui实例的过程。如果有人能够启发我,我将非常感谢我如何从MyProgrammApp.class访问showErrorBox方法。

1 个答案:

答案 0 :(得分:2)

在这一行:

show(new MyProgrammView(this));

您创建了框架,并且它会显示,但您永远不会在任何地方保存对框架的引用。

您需要做的是创建应用,并将其保存到成员。然后你可以在上面调用方法。

我不确定Netbeans究竟是如何启动应用程序的,但是你会做类似以下的事情:

MyProgrammView view = new MyProgrammView(this)
show(view);

// now you can call methods on view
view.showErrorBox();