Announcement

Collapse
No announcement yet.

Anfänger aus Berlin

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anfänger aus Berlin

    Mein Zähler läuft und wird auch angezeigt. Ich möchte den Zähler anhalten, wenn Jframe auf dem Bildschirm erscheint, weiß aber nicht wie. JFarme dient als Zähler Anzeige.

    <B>Syntax:</B>

    <I>
    //Zaehler Klasse<BR>
    class Zaehler extends Thread {<BR>
    public void run() {<BR>
    int zahl=0;<BR>
    for(int i=0; i<10000; i++) {<BR>
    zahl = i/10;<BR>
    //Zaehler Wert Anzeigen<BR>
    jLabel1.setText(String.valueOf(i + " Zyklus"));<BR>
    }}}

    //Initialisierung der Komponente<BR>
    private void jbInit() throws Exception {<BR>
    //Zaehler Starten<BR>
    Zaehler zaehler = new Zaehler();<BR>
    zaehler.start();<BR>

    /*

    Hier sollte abfrage kommen:<BR>
    Zaehler anhalten, wenn JFrame auf dem Bildschirm angezeigt wurde<BR>
    if(<B>???</B> = = true) {<BR>
    zaehler.stop();<BR>
    }

    */

  • #2
    Hallo Andreas,

    JFrame besitzt die Methode isVisible() - die könntest du abfragen, oder eine Referenz auf den JFrame auf NICHT null prüfen:

    if (frame != null)
    zaehler.stop();

    Anmerkung:
    Die Methode stop() ist deprecated d.h. die funktioniert nicht richtig.
    Der Thread wird zwar angehalten, aber das Objekt auf dem er arbeitet kann in einem undefinierten Zustand hinterlassen werden.

    In deinem konkreten Fall ist das aber egal. Der Compiler wird dir
    diesen Umstand aber normalerweise mitteilen.

    Näheres findest du in der Doku bei der Methode stop().

    Thoma

    Comment

    Working...
    X