我经常使用 JFrame,因为它们是应用程序,它们显然需要一个
public static void main(String[] args)
方法。他们还需要 main() 中的行
myJFrame g = new myJFrame();
在 Eclipse 中,我收到关于变量 g 的警告:“从不读取局部变量 g”,但如果我省略该行,程序将无法运行。为什么我需要那条线,如果 g 是必不可少的,为什么上面会有警告?
回答您的问题 - 可能您调用所有必要的方法(如setVisible(true)
等)在myJFrame
构造函数中运行应用程序。如果是这样 - 你不需要g
局部变量 - 你以后永远不会使用它(查看警告)。
第一件事main
- 是所有 Java 应用程序的起点。第二件事,如果您在JFrame
构造函数中做所有事情,那么您只需要行
new myJFrame(); //in Java it's convention to use first letter
//upper-case class names -> MyJFrame
下面是在应用程序中运行第一个窗口的简单标准方法。
public final class App {
public static void main(final String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MainWindow frame = new MainWindow();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
在MainWindow
课堂上,您只创建 Swing 组件等。
警告意味着您声明了一个局部变量/指针(在这种情况下称为 g ),但从未在代码中的任何地方实际使用它。有了警告,程序应该可以正常运行,但是你有一个额外的“指针”指向你从未使用过的 JFrame。
如果你想从你调用的方法访问你的 JFrame,myJFrame g = new myJFrame();
你应该保持这种方式。否则new myJFrame();
就足够了。
如果您不打算引用此对象,则初始化此对象就足够了。
new myJFrame();