没有进行类实例化

时间:2016-02-21 06:52:40

标签: java

这是我的一段代码。

if (check1 != 0 && check2 != 0 && check3 != 0)
{
    JOptionPane.showMessageDialog(main, "You are now signed up","Welcome", JOptionPane.INFORMATION_MESSAGE);
     new HomePage();
}

虽然显示了HomePage对话框,但未创建JOptionPane类实例。此代码位于SignUp.javaHomPage是与上述代码位于同一个包中的main方法的类。

这是为什么?应该怎么做来实例化它?

HomePage.java看起来像这样

      public class HomePage extends javax.swing.JFrame implements ActionListener {
      public HomePage() {
             initComponents();
       }
      private void initComponents() {
           ...
      }
      public static void main(String args[]) {

              /* Create and display the form */
              java.awt.EventQueue.invokeLater(new Runnable() {
              public void run() {
                     new HomePage().setVisible(true);
              }
           });
     }
   }

我得到了解决方案。 我改变了     new HomePage() 至     new HomePage().setVisible(true); 它工作正常。

1 个答案:

答案 0 :(得分:1)

showMessageDialog()阻止代码的执行。在使用“确定”按钮或“取消”按钮取消对话框后,将执行下一行。

此外,变量h仅在if块中可用。如果您需要在其他地方访问它,则需要在if之外将其声明为本地方法或类字段。

由于h是扩展HomePage的{​​{1}}实例,因此您只需将其显示为与JFrame main()方法中的操作相似}:

HomePage

请注意,创建类的实例和使用类的对象执行操作之间存在巨大差异。