1

晚上好,

我正在开发一个简单的 Java 应用程序。我被卡住了,我需要一些帮助。这是我们在 Java 编程课上进行的一个项目。

我创建了一个 JFrame 表单和几个 JDialog 表单,我使用 JFrame 表单上的按钮成功调用了它们。对于其中一种 JDialog 表单(dlg_create_company),我希望它在应用程序启动时立即作为模式窗口弹出。到目前为止,我已经尝试从 JFrame 表单的 main 方法调用代码,但我遇到了“无法在静态上下文中调用非静态变量”错误。

这是我正在尝试的:

    //Create a new instance of my JDialog "dlg_create_company" and assign it to "dialog"
    //Then set it's visibility to true.
    dlg_create_company dialog = new dlg_create_company(new javax.swing.JFrame(), true, current_company);
    dialog.my_parent = this; //sets form frm_repair_shop as the parent via the my_parent reference.
    dialog.setVisible(true);

任何帮助将不胜感激。 这是我整个项目的 zip 链接。

4

1 回答 1

3

当然,您不能在非静态上下文中访问静态变量。这是因为静态变量“一直存在”,而非静态对象可能“存在”也可能不“存在”。您需要在您的构造函数中显示对话框JFrame并使它们都可见。第JFrame一个和JDialog之后。

请发布SSCCE ,而不是链接到 ZIP 文件。也许明天人们会开始链接到他们的 Github,要求我们对其进行调试。

public MyJFrame(){
    // add components
    // call pack and stuff
    // instantiate the JDialog
    // make JFrame visible
    // make the JDialog visible
}
于 2013-10-24T03:12:16.723 回答