2017-08-03 1 views
0

ich die Zeilen auszuführen versuche:kann nicht ausgeführt Methode und ihre GUI aus dem Inneren eines Try-Catch

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

Im folgenden Code:

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()); 
} 

Aber ist das Programm nicht bootet richtig wie folgt: Programm ist eine Leinwand mit zwei Kugeln, die sich bewegen, bounce (int numberOfBalls) wird die Kugeln auf der Leinwand zeichnen und starten Sie sie bewegen.

Im obigen Code wird die Leinwand erstellt, aber die Kugeln erscheinen nicht.

Jedoch in einer anderen Klasse unter der Hauptmethode funktioniert es gut.

Grundsätzlich nicht verstehen, warum es nicht erfolgreich in einer Try-Catch-Schleife ausgeführt wird.

+1

Dies hat wahrscheinlich weniger mit der Try-Catch-Struktur zu tun, und mehr mit der Tatsache zu tun, dass das Ganze in einer actionPerformed-Methode ist. Sind Sie sicher, dass Ihr Rückruf aufgerufen wird? – azurefrog

+0

Also sollte ich es eine eigene Methode machen, die von innerhalb der Methode actionPerformed aufgerufen werden kann? –

+0

Ed, ich denke, Sie müssen möglicherweise mehr von Ihrem Programm veröffentlichen. Wir wissen nicht, was in BallDemo passiert, aber es wird kein Canvas-Objekt übergeben, auf das geschrieben werden kann. Worauf basiert es? –

Antwort

0

Ich vermute, dass Ihr BallDemo-Objekt (bd) den Geltungsbereich verlässt, sobald der try-Block endet. Versuchen Sie, es außerhalb des try-Blocks zu deklarieren.

+0

danke, aber gerade versucht, und hat keinen Unterschied gemacht - immer noch ein leeres GUI-Fenster pop-up. –

Verwandte Themen