如何在JFrame中切換JPanels關于javas組件的相當綠色等等,請原諒我,如果我提供的信息不夠!考慮下面的代碼。添加菜單和菜單顯示在框架中,沒有問題。我想在調用gameOn()時刪除菜單而不是啟動游戲。下面的代碼只使Frames表面“空白”,沒有添加游戲面板。有關如何修復它的任何想法/建議?MenuPanel有一個mouselistener。public class GameFrame extends JFrame {private MenuPanel mp; //extends JPanelprivate GamePanel gp; //extends JPanelpublic GameFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(new Dimension(GameFrame.XSIZE, GameFrame.YSIZE));
setLocationRelativeTo(null);
setVisible(true);
mp = new MenuPanel(this);
add(mp);}public void gameOn() {
remove(mp);
GamePanel gp = new GamePanel(5);
add(gp);}}
3 回答

慕碼人2483693
TA貢獻1860條經(jīng)驗 獲得超9個贊
添加GamePanel后,執(zhí)行 validate();
public void gameOn() {
remove(mp);
gp = new GamePanel(5);
add(gp);
validate();
}

aluckdog
TA貢獻1847條經(jīng)驗 獲得超7個贊
你需要repaint()
在刪除一個面板并添加另一個面板后,setVisible(true)
應該在將組件添加到框架后完成,我建議在EDT線程上進行大量的UI更改,以避免干擾。
添加回答
舉報
0/150
提交
取消