JavaFx Frage



  • Hallo,

    kennt sich jemand mit JavaFx aus. Ich hab mir so ein fxml File gemacht. Es besteht aus einem button und einem Label. Dazu hab ich auch eine Controller Klasse. Sie implementiert das onAction Ereignis des Buttons.
    Jedes Mal wenn der Button geklickt wird dann wird die Zahl auf dem Label um 1 erhoeht. Nun der Coup.

    Das soll nun automatisiert ablaufen. Der Button wird automatisch 10 mal geklickt ( ohne User dazutun ) und das Label hochgezaehlt.
    Zwischen jedem Click liegen 3 Sekunden Pause . Ich denke mal das ist nicht so einfach.

    Ich weiss dass ein button eine fire Methode hat. So aber wo setzt man die Schleife auf. In der Main.java wo auch die Szene gesetzt wird ?
    Und dann muss man ja auch das repaint immer ausloesen und den Thread 3 Sekunden pausieren. Hm . Alles nicht so einfach...



  • Swing-Buttons haben dafür die "doClick"-Methode. JavaFX-Buttons haben bestimmt ein Äquivalent.
    3 Sekunden Pause geht mit Thread.sleep(3000);
    🙂



  • Hängt davon ab wie du die Schleife auslösen willst. Automatisiert? Durch einen weiteren Button?

    Ich würde wohl eine Methode im Controller erstellen die ich nach "Stage.show()" benutze die einfach in einer Schleife deine onAction Methode des Controllers aufruft. Den Button muss das ja nicht interessieren. Allerdings natürlich in einem Thread und dann das Platform.runLater nicht vergessen.

    Neu rendern brauchst du nicht, dass das schon durch die Änderung am Label angestoßen wird.



  • versuchs doch mal zu programmieren. Nen Button und ein Label das bei jedem Button Klick um 1 hochgezaehlt wird und das ganze automatisch also ohne Benutzerklick 🙂
    Laenger als 10 Minuten sollte das fuer einen erfahrenen JavaFx Developer nicht dauern.


Anmelden zum Antworten