我如何才能退出他們從Main創建的新MainGame? 其中Main有一個原始的遊戲層。 MainGame是一個對話窗口(如模態窗口)。如何退出或退出從JWindow在Java中創建的從屬JWindow?
Main.java:(主代碼)
public class Main extends JWindow
{
private static JWindow j;
public static MainGame mp;
public static void main(String[] args)
{
new Thread(new Runnable()
{
public void run()
{
mp = new MainGame();
mp.runit();
//mp.stopit();
}
}).start();
j = new Main();
j.setVisible(true);
}
}
MainGame.java:(這是由主延伸,並且我想相當此只)。
public class MainGame extends JWindow
{
private static JWindow j;
public MainGame()
{
// some GUI ...
}
public static void runit()
{
j = new MainGame();
j.setVisible();
}
}
什麼是所有的靜態變量?爲什麼不通過CardLayout交換視圖?另外,你是否注意在EDT上運行你的Swing代碼? –
您正在濫用「靜態」關鍵字的用法。無論如何,第一:我認爲的方法是假設公共靜態無效的主要,而不是公共靜態無效的主要。其次,在你創建MainGame的線程中,你可以訪問'j'(作爲靜態變量),調用j.setVisible(false)來隱藏窗口。第三,您可以將父JWindow的引用傳遞給另一個類,以便一旦其他類自動初始化,就調用jWindow.setVisibile(false)。希望這可以幫助。 –
@Usman Saleem:MainGame visible設置爲false並沒有什麼幫助。因爲在彈出窗口中我有一個3D電影作爲演示文稿播放,所以我想完全關閉那個jWindow對話框,以便以後我可以播放一個新的。 – YumYumYum