java - 类实例化没有发生

标签 java

这是我的代码。

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

尽管显示了 JOptionPane 对话框,但此处并未创建 HomePage 类实例。此代码位于 SignUp.java 中。 HomPage 是一个带有 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().setVisible(true); 而且效果很好。

最佳答案

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

此外,变量 h 只能在 if block 中使用。如果您需要在其他地方访问它,则需要在 if 外部声明它,可以在方法本地声明,也可以作为类字段声明。

由于 hHomePage 的一个实例,它扩展了 JFrame,因此您只需像在 中那样显示它即可。 HomePage 的 >main() 方法:

h.setVisible(true);

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

关于java - 类实例化没有发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35533210/

相关文章:

延迟后的 Java EJB 调用方法

java - ApplicationContext 和 ServletContext

java - Cassandra 保存键空间时出错并且不在 opscenter 中显示键空间

java - NoClassDefFound错误: com/google/api/gax/grpc/GrpcStatusCode

java - 从另一个线程取消 MySQL 查询执行

java - 在 Spring 代码库配置中处理属性文件的正确方法

java - wsimport 生成的 SOAP 客户端,是否有机会查看生成的 XML 以获取请求/响应?

java - 如何为具有字符串数组的类覆盖 equals()?

java - Jackson:Map的反序列化

java - 是否存在这样的 JSON 字符串生成器?