2012-07-19 41 views
0

我经常使用JFrames,因为他们的应用程序,他们显然需要一个Eclipse中的JFrame警告

方法。他们还需要在main()

myJFrame g = new myJFrame(); 

在Eclipse中,我得到的变量g警告线:“本地变量g是从来不看”,但如果我省略该行,该程序将无法运行。为什么我需要这条线,如果g很重要,为什么会有警告呢?

+0

除非你确实做了什么后用变量'g'或以某种方式引用它,你可以只用做'新myJFrame()脱身;' – 2012-07-19 18:48:48

回答

1

警告意味着你声明一个局部变量/指针(被称为克这种情况下),但从来没有真正在你的代码使用它的任何地方。随着警告程序应该运行良好,但你有一个额外的“指针”,从未使用过的JFrame。

如果你想从方法来访问你的JFrame是你叫myJFrame g = new myJFrame();你应该保持这种方式。 否则new myJFrame();就足够了。

4

回答你的问题 - 可能你调用了所有必要的方法(如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组件等

0

如果你不打算引用初始化这个WLD足够此对象的。

new myJFrame();