[英]How do I create new object while changing cards in CardLayout?
目前我正在使用CardLayout在游戲中的不同guis之間跳轉(主菜單,設置,記分牌等):
static JPanel panels = new JPanel();
static CardLayout cl = new CardLayout();
panels.setLayout(cl);
panels.add(new Menu(), "menu");
panels.add(new Game(), "game");
panels.add(new Scoreboard(), "scoreboard");
panels.add(new Settings(), "settings");
panels.add(new Info(), "info");
然后在同一個班級我得到了靜態方法,允許我在游戲的JComponents(菜單,游戲,記分牌,設置,信息)之間跳轉。
public static void changePanel(String panel){
cl.show(panels, panel);
}
不幸的是,所有這些對象都是在游戲開始時創建的。 我需要在每次更換卡時創建新對象並刪除舊對象以節省內存。 這可以通過嗎?
您最好的選擇是調用System.gc(),這只是對垃圾收集器的一個提示,您希望它能夠進行收集。 由於垃圾收集器不確定,因此無法強制立即收集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.