我正在寫一個蛇遊戲,但有一個小問題。有時候,面板和框架之間有一點距離。我真的不知道可能是什麼問題,因爲它看起來很不規律。擺動 - JFrame有時比預先設定的尺寸大
SSCCE:
public class Game {
static JFrame frame = new JFrame("The Snake Game");
static Game game = new Game();
JPanel cards;
static JPanel card1 = new JPanel();
private Game() {
}
public void addComponentToPane(Container pane) {
// CARD 1
card1.setLayout(null);
card1.setPreferredSize(new Dimension(600, 625));
CardLayout cl = new CardLayout();
cards = new JPanel(cl);
cards.add(card1);
pane.add(cards, BorderLayout.CENTER);
}
private static void createAndShowGUI() {
game.addComponentToPane(frame.getContentPane());
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
} // end of main
}
那麼......首先,您沒有正確使用'CardLayout'。 – 2013-05-03 21:41:29
恩,那麼正確的用途是什麼? – 2013-05-03 21:44:56
'有時候,面板和框架之間有一點距離。 ' - 確保創建GUI的代碼在EDT上執行。另外,不要使用靜態變量。 – camickr 2013-05-03 21:45:47