2016-03-25 81 views
1

我希望能夠按下按鈕並創建使用Java 2d的小遊戲。 我曾試圖用一個try/catch但它陷在一個無限循環如何調用需要在JButton ActionListner中發生InterrupedException的方法

Button.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 

         game.create();/***is a new window with a small 2d game, 
         the 'create' method requires and InterruptedException to be thrown.***/ 




       } 

      }); 

這裏(因爲創建方法我想while循環)是從創建方法的代碼:

public void create() throws InterruptedException { 

    JFrame frame = new JFrame("Mini Tennis"); 
    GameMain gamemain = new GameMain(); 
    frame.add(gamemain); 
    frame.setSize(350, 400); 
    frame.setVisible(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    while (true) { 
     gamemain.move(); 
     gamemain.repaint(); 
     Thread.sleep(10); 

    } 
} 

回答

2

我相信你的無限循環阻止了擺動線程響應你的按鈕。

嘗試有一個單獨的線程你的循環:

public void create() throws InterruptedException { 

    JFrame frame = new JFrame("Mini Tennis"); 
    GameMain gamemain = new GameMain(); 
    frame.add(gamemain); 
    frame.setSize(350, 400); 
    frame.setVisible(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    (new Thread() { 
    public void run() { 
     while (true) { 
      gamemain.move(); 
      gamemain.repaint(); 
      Thread.sleep(10); 
     } 
    } 
    ).start(); 
} 
+0

是啊是非常完美謝謝! – tamalon

+0

我很樂意提供幫助! –

相關問題