我基本上一直試圖通過使用JFrame並切換出2個JPanel(一個用於菜單,另一個用於實際遊戲)來製作遊戲菜單。我試圖實現我能想到的最基本的格式,但似乎無法使其工作。如果有人可以解釋代碼有什麼問題,我將不勝感激。在單個JFrame中使用多個JPanel
這裏是我的JFrame,菜單面板,以及ActionListener的
package buttonMenu;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Skeleton extends JFrame implements ActionListener{
JPanel menu;
JButton button;
public Skeleton(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(400, 400);
setVisible(true);
menu = new JPanel();
button = new JButton("button");
menu.setSize(400, 400);
menu.setBackground(Color.BLACK);
menu.setVisible(true);
menu.add(button);
button.setLocation(200, 200);
button.addActionListener(this);
add(menu, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent a){
JPanel panel = Game.Game();
this.remove(menu);
this.add(panel);
}
public static void main(String args[]){
new Skeleton();
}
}
的actionPerformed調用這個類中創建
package buttonMenu;
import java.awt.Color;
import javax.swing.JPanel;
public class Game{
public static JPanel Game(){
JPanel panel = new JPanel();
panel.setSize(400, 400);
panel.setBackground(Color.WHITE);
return panel;
}
}
同樣的面板,如果任何人都可以向我解釋什麼是錯,此代碼我將不勝感激。由於
感謝您的建議,我從來沒有使用過重新驗證,但它現在工作。此外,感謝您的鏈接,它看起來像卡布局是要走的路。 –