JAVA 自学+毕业设计中 很多不会的请求帮助。
别的窗体都正常 比如进入这个窗体后上个窗体会消失。
但从这个窗体进入game后 这个窗体没消失求解决方法。
import javax.swing.WindowConstants;
import java.awt.Toolkit;public class Main extends javax.swing.JFrame {private int newgame;
 public Main(int n) {
 
  super("主界面");
  this.newgame=n;
  int width = Toolkit.getDefaultToolkit().getScreenSize().width;
  int height = Toolkit.getDefaultToolkit().getScreenSize().height;
  setLocation((width-600)/2,(height-450)/2);
  
  initGUI();
 }
 
 void initGUI() {
  try {
   setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
   
   if (this.newgame==2){
  
   game main = new game();
   Main.this.setVisible(false);// 我觉得问题在这 这句话注释后和注释前一样
   main.setVisible(true);
   
   }
   else{    
   //这部分是动画然后进入创建界面   这个不用管 
   }
   
   
   pack();
   setSize(600, 450);  } 
  catch (Exception e) {
   e.printStackTrace();
  }
 }}
这是 game 那个窗体 是不是这里有问题
import javax.swing.WindowConstants;
import java.awt.Toolkit;public class game extends javax.swing.JFrame { 
 public game() {
  super("game主界面");
  int width = Toolkit.getDefaultToolkit().getScreenSize().width;
  int height = Toolkit.getDefaultToolkit().getScreenSize().height;
  setLocation((width-600)/2,(height-450)/2);
  initGUI();
 }
 
 private void initGUI() {
  try {
   setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
   pack();
   setSize(400, 300);
 
  } catch (Exception e) {
   e.printStackTrace();
  }
 }}

解决方案 »

  1.   

    类名没有以大写开始game main = new game();
    Game main=new Game();
      

  2.   

    因为 你Main 这个窗体类 一直没调用setVisible(true); 这个方法继续JFrame的类  需要 调用setVisible(true);  才能出现界面~
      

  3.   

    JFrame调用一下setVisible(true); 就OK了
      

  4.   

    在方法里添加吗? 改过之后 好像问题依然存在 
    改后 请各位大大再看一下 
    public class Main extends javax.swing.JFrame {
    private JPanel jpanel; //改过
    private int newgame;
     public Main(int n) {
     
      super("主界面");
      this.newgame=n;
      int width = Toolkit.getDefaultToolkit().getScreenSize().width;
      int height = Toolkit.getDefaultToolkit().getScreenSize().height;
      setLocation((width-600)/2,(height-450)/2);
     
      initGUI();
     }
     
     void initGUI() {
      try {
       setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
       jpanel = new JPanel();//改
       jpanel.setVisible(true);//在方法里添加了但问题依然存在
     
       if (this.newgame==2){
        
       game main = new game();
       Main.this.setVisible(false);// 我觉得问题在这 这句话注释后和注释前一样
       main.setVisible(true);
       
       }
       else{    
       //这部分是动画然后进入创建界面   这个不用管 
       }
       
       
       pack();
       setSize(600, 450);  } 
      catch (Exception e) {
       e.printStackTrace();
      }
     }}