首页 > 解决方案 > 当我的 JFrame 加载时如何隐藏我的 JPanel?

问题描述

当我的 JFrame 开始从我的 Main 方法显示/加载时,我在隐藏我的 JPanel(登录面板)时遇到问题。执行下面的代码会给我一个 NullPointerException。

// Main Class
public class Main(){
  public static void main(String[] args){
     try {
         new LoginPage().setVisible(true);
     } catch (Exception e){e.printStackTrace()}
  }
}

// LoginPage Class {
public class LoginPage extends javax.swing.JFrame {
   private javax.swing.JPanel LoginPanel;
   public LoginPage(){
     super("Login Form");
     LoginPanel.setVisible(false); // ERROR - Throws NullPointerException
     setSize(1280, 720);
     setLocationRelativeTo(null);
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     initComponents();
   }
  }
}

标签: javaswingjframejpanel

解决方案


您应该实例化您的“LoginPanel”。

您刚刚使用“private javax.swing.JPanel LoginPanel”声明了它,但由于它没有被实例化,您将得到 NullPointerException。

只需用 loginPanel = new LoginPanel(); 实例化它 它应该可以工作。


推荐阅读