当前位置: 代码迷 >> J2SE >> setVisible(false) 窗体没消失解决办法
  详细解决方案

setVisible(false) 窗体没消失解决办法

热度:535   发布时间:2016-04-24 01:39:49.0
setVisible(false) 窗体没消失
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();
  }
 }

}

------解决方案--------------------
因为 你Main 这个窗体类 一直没调用setVisible(true); 这个方法

继续JFrame的类 需要 调用setVisible(true); 才能出现界面~
------解决方案--------------------
JFrame调用一下setVisible(true); 就OK了
  相关解决方案