Timer mehrere Male ausführen

Buba235

Mitglied
Hallo Leute!

Ich hab da mal ne Frage. Ich versuche mich langsam aber sicher in Java ein zu arbeiten und habe mir ein kleines Programm geschrieben, dass nichts anderes macht, als einen Timer runter laufen zu lassen. Das klappt auch ganz gut, nur brauche ich das ganze jetzt öfter. Mal zum Verständnis: Ich habe eine GUI Anwendung, die insegsamt 8 JTextFields beinhaltet (alle vorbelegt mit bestimmten Sekunden z.B. 60), einen Button (der startet die ganze Geschichte) und ein paar Labels für Ausgabe. Mein Problem ist jetzt dass ich durch das Starten des Timers nur den ersten laufen lassen kann. Das passiert in meiner event Klasse:

Java:
public class event implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            int count = (int) (Double.parseDouble(tf1.getText()));
            timerLabel.setText("Time left: " + count);
           
            TimeClass tc = new TimeClass(count);
            timer = new Timer(1000, tc);
            timer.start();
        }
    }

Ich denke, dass mir auch bewusst ist, wo ich ansetzen muss, um das ganze zu implementieren, aber ich weiß nicht genau wie. In dem Code oben wird der Inhalt des JTextFields (eines von den 8) genommen und runter gezählt. Wie kann ich denn da jetzt nacheinander tf1 - tf8 runter laufen lassen? Ich hoffe ihr könnt mir da weiter helfen. Falls ihr noch mehr Infos benötigt, gebe ich gerne weiter.

Vielen Dank schon mal
 

VfL_Freak

Top Contributor
Moin,

verstehe ich das richtig, Du willst mit einem Button die Sekundenanzeige in 8 Textfeldern gleichzeitig starten?
Wenn es in allen Textfelder gleich laufen soll, kannst Du ja alle 8 in Deinen Timer einbauen oder sonst halt acht Timer basteln ;)

Du hast ja vermutlich die actionPerformed-Methode zum Button gepostet, oder?
Ok, dort wird der Wert aus dem ersten Textfeld auf das Label geschrieben ....
Und was macht der Timer dann genau?? Code??

Gruß Klaus
 

Buba235

Mitglied
Hallo Klaus!

Das ist nicht ganz richtig. Ich möchte mit dem Button jeden Timer nach und nach ablaufen lassen. Wenn also das erste "Feld" fertig ist, dann soll erst das nächste anfangen usw. Hier einmal mein gesamter Code:

Java:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;


public class mainTimer extends JFrame {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    JLabel promptLabel1, promptLabel2, promptLabel3, promptLabel4, promptLabel5, promptLabel6, promptLabel7, promptLabel8, timerLabel;
    int counter;
    JTextField tf1, tf2, tf3, tf4, tf5, tf6, tf7, tf8;
    JButton button;
    Timer timer;

    public mainTimer () {
        setLayout(new GridLayout(9, 9, 5, 5));

        // Label and TextField (60 secs)
        promptLabel1 = new JLabel("1st Timer: ", SwingConstants.CENTER);
        add(promptLabel1);
        tf1 = new JTextField("60", 5);
        add(tf1);

        // Label and TextField (30 secs)
        promptLabel2 = new JLabel("2nd Timer: ", SwingConstants.CENTER);
        add(promptLabel2);
        tf2 = new JTextField("30", 5);
        add(tf2);

        // Label and TextField (30 secs)
        promptLabel3 = new JLabel("3rd Timer: ", SwingConstants.CENTER);
        add(promptLabel3);
        tf3 = new JTextField("30", 5);
        add(tf3);

        // Label and TextField (30 secs)
        promptLabel4 = new JLabel("4th Timer: ", SwingConstants.CENTER);
        add(promptLabel4);
        tf4 = new JTextField("30", 5);
        add(tf4);

        // Label and TextField (30 secs)
        promptLabel5 = new JLabel("5th Timer: ", SwingConstants.CENTER);
        add(promptLabel5);
        tf5 = new JTextField("30", 5);
        add(tf5);

        // Label and TextField (30 secs)
        promptLabel6 = new JLabel("6th Timer: ", SwingConstants.CENTER);
        add(promptLabel6);
        tf6 = new JTextField("30", 5);
        add(tf6);

        // Label and TextField (30 secs)
        promptLabel6 = new JLabel("7th Timer: ", SwingConstants.CENTER);
        add(promptLabel6);
        tf6 = new JTextField("30", 5);
        add(tf6);

        // Label and TextField (60 secs)
        promptLabel6 = new JLabel("8th Timer: ", SwingConstants.CENTER);
        add(promptLabel6);
        tf6 = new JTextField("60", 5);
        add(tf6);

        button = new JButton("Start timing");
        add(button);

        timerLabel = new JLabel("Waiting...", SwingConstants.CENTER);
        add(timerLabel);

        event e = new event();
        button.addActionListener(e);
    }

    public class event implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            int count = (int) (Double.parseDouble(tf1.getText()));
            timerLabel.setText("Time left: " + count);
           
            TimeClass tc = new TimeClass(count);
            timer = new Timer(1000, tc);
            timer.start();
        }
    }

    public class TimeClass implements ActionListener {
        int counter;
       
        public TimeClass (int counter) {
            this.counter = counter;
        }
       
        public void actionPerformed (ActionEvent tc) {
            counter--;
           
            if (counter >= 1) {
                timerLabel.setText("Time left: " + counter);
            } else {
                timer.stop();
                timerLabel.setText("Done!");
                Toolkit.getDefaultToolkit().beep();
            }
        }
    }

    // Main start method
    public static void main (String args[]) {
        mainTimer gui = new mainTimer();
        gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        gui.setSize(310, 250);
        gui.setTitle("Timer Program");
        gui.setVisible(true);
    }
}
 

Buba235

Mitglied
Hallo an alle!

Hat keiner eine Idee oder einen Denkansatz für mich? Ich wäre euch sehr dankbar. Es kann auch ein komplett neues Konzept sein.
 

Libentis

Aktives Mitglied
Spontane Idee : Alle Felder in ein Array speichern. Wenn der Button gedrückt wird eine for-Schleife erstellen, in der du alle Felder durchgehst. Dann noch eine Innere Schleife while(feld!=0) in der du das Feld dann immer um einen Wert runter zählst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Timer vs ExecutorService: jeden Sonntag um 14.00 Uhr einen Task starten..? Java Basics - Anfänger-Themen 1
_user_q Timer - ScheduledExecutorService wird schon vorher beendet Java Basics - Anfänger-Themen 5
E multiple Timer die sich nicht summieren Java Basics - Anfänger-Themen 12
Jan_x8 Timer/Scanner Java Basics - Anfänger-Themen 5
C Timer aktualisieren Java Basics - Anfänger-Themen 5
L GUI- wie cancel ich einen Timer? Java Basics - Anfänger-Themen 10
missy72 Timer oder Timeline Java Basics - Anfänger-Themen 3
R Timer Format: 00:00:00 Java Basics - Anfänger-Themen 29
C java.util Timer läuft zu langsam? Java Basics - Anfänger-Themen 1
D Änder der Timer Speeds Java Basics - Anfänger-Themen 1
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
L Methoden Timer Java Basics - Anfänger-Themen 9
J Memory-Spiel Aktivierung der Methode mit Timer Java Basics - Anfänger-Themen 44
G Animation Timer Nano Time Java Basics - Anfänger-Themen 2
S Timer reseten Java Basics - Anfänger-Themen 3
T Timer stoppt zu früh Java Basics - Anfänger-Themen 7
CptK Methoden Timer & Mathematischer Denkfehler Java Basics - Anfänger-Themen 7
mobaer Swing Timer stoppen Java Basics - Anfänger-Themen 3
C Wie erstellt man einen Timer/Delay? Java Basics - Anfänger-Themen 1
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
D Timer programmieren Java Basics - Anfänger-Themen 13
N Timer funktioniert nicht beim starten Java Basics - Anfänger-Themen 3
J Timer richtig pausieren Java Basics - Anfänger-Themen 2
E Timer erstellen Java Basics - Anfänger-Themen 2
B javax.ejb.Timer wieder starten? Java Basics - Anfänger-Themen 0
S actionlistener timer Java Basics - Anfänger-Themen 9
C Wie kann ich jetzt von der Game.java auf die Timer.java zugreifen? Java Basics - Anfänger-Themen 6
S timer mit imagedatei Java Basics - Anfänger-Themen 5
S timer Java Basics - Anfänger-Themen 0
V Java Uitil Timer Stoppt nicht Java Basics - Anfänger-Themen 2
KaffeeFan Timer beenden Java Basics - Anfänger-Themen 12
K Ampelsteuerung mit Timer Java Basics - Anfänger-Themen 8
F Array und Timer Java Basics - Anfänger-Themen 2
G Timer einsetzen Java Basics - Anfänger-Themen 2
J Timer oder Thread programmieren ? Java Basics - Anfänger-Themen 10
F Timer beendet nicht immer Java Basics - Anfänger-Themen 2
F Timer abbrechen und wieder starten Java Basics - Anfänger-Themen 5
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
W Erste Schritte Timer soll jede Sekunde Label aktualisieren Java Basics - Anfänger-Themen 5
T Timer - HILFE Java Basics - Anfänger-Themen 10
O Alternative zum swing-Timer Java Basics - Anfänger-Themen 5
A Wieso funktioniert dieser Timer nicht?? Java Basics - Anfänger-Themen 3
S timer funktion mit javax panel Java Basics - Anfänger-Themen 3
O Laufender Timer+Action Listener in Thread VS isAlive() Java Basics - Anfänger-Themen 4
O Starte Timer, während anderer Timer noch läuft. Ruft dies Schwierigkeiten hervor? Java Basics - Anfänger-Themen 0
M Schneller Timer Java Basics - Anfänger-Themen 2
C Timer aus anderer Klasse stoppen/starten Java Basics - Anfänger-Themen 3
B Timer beenden? Java Basics - Anfänger-Themen 0
G Erste Schritte Timer: In einem festgelegten Intervall eine Methode ausführen Java Basics - Anfänger-Themen 6
O Delayed Timer erstellen Java Basics - Anfänger-Themen 3
M Timer / Thread Java Basics - Anfänger-Themen 43
M Javax.swing - Timer(2 Button) Java Basics - Anfänger-Themen 17
J Timer - Swing Java Basics - Anfänger-Themen 5
A Timer: textarea.getText() mit Variable vergleichen Java Basics - Anfänger-Themen 3
D Problem mit Methode und Timer Java Basics - Anfänger-Themen 35
T Wie mache ich einen Timer der alle 2 sekunden aufgerufen wird? Java Basics - Anfänger-Themen 5
R Einfacher Timer geht nicht Java Basics - Anfänger-Themen 7
J Swing Timer Java Basics - Anfänger-Themen 3
M Einfacher Timer ;) Java Basics - Anfänger-Themen 15
M Timer für Termial-Eingaben Java Basics - Anfänger-Themen 3
C Methoden Einen Timer einbauen, aber wie? Java Basics - Anfänger-Themen 5
B Timer Java Basics - Anfänger-Themen 25
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
S Timer / Schleifen Verständnis Problem Java Basics - Anfänger-Themen 3
S Erste Schritte Java Timer Java Basics - Anfänger-Themen 13
E Threads Timer Java Basics - Anfänger-Themen 6
Spin KI Anfänger Frage : Timer Problem Java Basics - Anfänger-Themen 6
F Prüfen ob timer läuft Java Basics - Anfänger-Themen 6
L Erste Schritte Timer und Zugriffsattribute Java Basics - Anfänger-Themen 5
M Audio + Timer Java Basics - Anfänger-Themen 12
M Methoden Timer in ActionListener aufrufen Java Basics - Anfänger-Themen 2
R Klassen MemorySpiel: brauche Timer Java Basics - Anfänger-Themen 3
D Timer in Applet Java Basics - Anfänger-Themen 2
ruerob Warum ist Timer schneller als While? Java Basics - Anfänger-Themen 9
F Java Timer Frage Java Basics - Anfänger-Themen 14
VfL_Freak Verständnisfrage zur Klasse "TIMER" Java Basics - Anfänger-Themen 7
B Timer Java Basics - Anfänger-Themen 2
S timer task problem Java Basics - Anfänger-Themen 2
C Überprüfen, ob Timer läuft Java Basics - Anfänger-Themen 3
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
Luk10 Problem mit vielen Timer(-Events) Java Basics - Anfänger-Themen 17
Luk10 Swing timer und Threads Java Basics - Anfänger-Themen 4
W Timer erstellen Java Basics - Anfänger-Themen 2
M Timer: period während Verlauf wechseln Java Basics - Anfänger-Themen 12
M Timer unterbrechen? Wo ist mein Thread? Java Basics - Anfänger-Themen 2
L Timer innerhalb eines Threads Java Basics - Anfänger-Themen 3
P Java Timer Java Basics - Anfänger-Themen 2
C countdown/timer/Zeit warten lassen Java Basics - Anfänger-Themen 14
B problem mit timer/timertask, Farbverlauf Java Basics - Anfänger-Themen 10
Piwi Timer bei Programmende beenden Java Basics - Anfänger-Themen 25
T zweiter Timer überschreibt den ersten Timer ? Java Basics - Anfänger-Themen 5
kulturfenster Problem mit javax.swing.Timer Java Basics - Anfänger-Themen 2
C Regelmäßigen Timer bei Zeitüberschreitung nacheinander abarbeiten Java Basics - Anfänger-Themen 2
J timer Java Basics - Anfänger-Themen 2
J timer Java Basics - Anfänger-Themen 2
H Timer Java Basics - Anfänger-Themen 3
dl85hej Zeitsitschleife anstatt Timer Java Basics - Anfänger-Themen 5
G Klasse mit Timer nicht beenden Java Basics - Anfänger-Themen 6
S Timer / TimerTask Frage Java Basics - Anfänger-Themen 8
S Timer bzw. TimerTask Frage Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben