Tôi có một JPanel đơn giản cho tic-tac-toe, các đường vẽ ... vì vậy lớp TTT mở rộng JPanel và giữ một đối tượng GameLogic bên trong.Xóa JFrame & JPanel của tôi trong một trò chơi mới
tất cả đều tốt, ứng dụng là một JFrame trong việc thêm TTT và tất cả đều tốt.
NHƯNG, khi tôi muốn khởi động lại một trò chơi mới,
Tôi gọi "khởi động lại" trong TTT của tôi, điều cơ bản là: gameLogic = new GameLogic(); & repaint();
bây giờ mảng dữ liệu của tôi sạch sẽ và nó chỉ vẽ đường kẻ.
Mọi cách Windows không thay đổi gì cả.
Tôi đã thử mọi thứ không có may mắn. Bất kỳ đề xuất nào?
GameBoard.java:
public class GameBoard extends javax.swing.JPanel {
private GameBoardLogic GameLogic;
//.....
public void Restart()
{
GameLogic = new GameBoardLogic();
removeAll();
repaint();
}
Main.java:
public class Main {
private static GameBoard TTT;
private static JFrame application;
public static void main(String[] args) {
application = new JFrame("Tic-Tac-Tow");
TTT = new GameBoard();
application.add(TTT);
application.setSize(350, 350);
application.setVisible(true);
//.....
if (JOptionPane.showConfirmDialog(null, "Do you want to play again?") ==
JOptionPane.YES_OPTION)
{
application.removeAll();
TTT.Restart();
application.add(TTT);
application.validate();
}
* "Mọi góp ý ??" * 1) Để được trợ giúp tốt hơn sớm hơn, đăng một [SSCCE] (http://sscce.org/). 2) Khắc phục sự cố đó '?' Chìa khóa. –
Bạn sẽ đăng SSCCE? –