2017-08-03 49 views
0

我試圖執行行:無法運行方法及其GUI從裏面一個嘗試捕捉

Balldemo bd = new BallDemo(); 
    bd.bounce(myInt); 

在下面的代碼:

public void actionPerformed(ActionEvent evt) { 

    String text = textField.getText(); 
    try { 
     myInt=Integer.parseInt(textField.getText()); 
     BallDemo bd = new BallDemo(); 
     bd.bounce(myInt); 
     int newInt = myInt + 5; 
     System.out.println("Integer is: "+newInt);   
    } 
    catch (NumberFormatException ex) { 
     System.out.println("Not a number"); 

    } 

     //Make sure the new text is visible, even if there 
     //was a selection in the text area. 
     textArea.setCaretPosition(textArea.getDocument().getLength()); 
} 

但就是不開機程序正確如下: 程序是一個帶有兩個球移動的畫布,反彈(int numberOfBalls)將在畫布上繪製球並使它們移動。

在上面的代碼中,創建了畫布,但球沒有出現。

但是,在主要方法不同的類中,它工作正常。

基本上不明白爲什麼它不會在try-catch循環中成功執行。

+1

這可能與try-catch結構有關,並且更多地與整個事件在actionPerformed方法中有關。你確定你的回調被調用嗎? – azurefrog

+0

所以我應該讓它成爲可以從actionPerformed方法內調用的自己的方法? –

+0

埃德,我想你可能需要發佈更多的程序。我們不知道BallDemo內部發生了什麼,但它沒有被傳遞給畫布對象,所以它在繪製什麼? –

回答

0

我懷疑你的BallDemo對象(bd)一旦try塊結束就會超出範圍。嘗試在try塊外聲明它。

+0

謝謝,但只是試過,並沒有任何區別 - 仍然有一個空的GUI窗口彈出。 –