Countdown

Java20134

Bekanntes Mitglied
Ich habe dieses Programm geschrieben, habe auch schon in vielen Erklärungen nach Antworten gesucht, aber ich finde die Lösung nicht. Was mache ich falsch?
Java:
package package_countdown;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.Timer;
import javax.swing.border.EmptyBorder;

public class Countdown extends JFrame {

	private static final long serialVersionUID = 8976602215370097484L;
	private JPanel panel; 
	public static int counterValue = 60; 
	public static Timer timer; 

	public static void main(String[] args){
		Countdown frame = new Countdown(); 
		frame.setVisible(true);
	}
	
	public Countdown() {
		setTitle("Countdown");
		setBounds(100,100,300,250);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		panel = new JPanel();
		panel.setBorder(new EmptyBorder(5,5,5,5));
		panel.setLayout(null);
		setContentPane(panel);
		
    	final JLabel lbl = new JLabel(); 
    	panel.add(lbl);
    	lbl.setBounds(125,125,90,25);
		
		Timer timer = new Timer(1000, new ActionListener() { //1000ms = 1s
		       
		      public void actionPerformed(ActionEvent e) { 
		    	  counterValue--; 
		         		         
		        if(counterValue == 0){
		            lbl.setText(Integer.toString(counterValue)); 
		        	JOptionPane.showMessageDialog(panel, "Der Countdown ist beendet.", "Beendet!", 
		        			JOptionPane.INFORMATION_MESSAGE);
		        }
		      }
			}); 
		}
}
 

javampir

Bekanntes Mitglied
hi,
was funktioniert denn nicht?
auf jeden fall, in der ersten zeile müsste meiner meinung nach nach package ein leerzeichen statt ein underscore kommen.
und in deiner actionPerformed-Methode muss der wert des JLabels gesetzt werden (nach countervalue--) mit
Java:
lbl.setText("" + counterValue);
dein lbl ist ja freundlicherweise schon final.
außerdem müsste dein timer noch gestartet werden mit
Java:
timer.start()
nach der Zeile 51
javampir
 

Java20134

Bekanntes Mitglied
Vielen vielen Dank, es funktioniert. Bloß eine Sache: Die Variable counterValue muss zu einem String gesetzt werden!
Java:
lbl.setText(Integer.toString(counterValue));

Und stimmt der start fehlt, ganz vergessen! :) DANKE!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
S Stunden/Tage Countdown Java Basics - Anfänger-Themen 9
T Countdown erstellen Java Basics - Anfänger-Themen 7
T Countdown funktioniert nicht Java Basics - Anfänger-Themen 5
W Threads 1h 20min Countdown Java Basics - Anfänger-Themen 5
D Erste Schritte Countdown mehrfach verwenden Java Basics - Anfänger-Themen 5
F countdown Java Basics - Anfänger-Themen 5
G Countdown von Heute bis Zieldatum Java Basics - Anfänger-Themen 4
N Countdown Java Basics - Anfänger-Themen 4
W Countdown auf "schwarze Blöcke" Java Basics - Anfänger-Themen 3
F Countdown und dann Aktion Java Basics - Anfänger-Themen 4
S Countdown 5min bis 0sek Java Java Basics - Anfänger-Themen 10
C countdown/timer/Zeit warten lassen Java Basics - Anfänger-Themen 14
D Countdown Funktion aus SQl Datenbank Java Basics - Anfänger-Themen 21
N countdown zähl problem Java Basics - Anfänger-Themen 5
O Countdown mit Erhöhung Java Basics - Anfänger-Themen 2
H Countdown Java Basics - Anfänger-Themen 10
T Countdown, der in der selben Zeile bleibt Java Basics - Anfänger-Themen 6
D Timer bzw. Countdown Java Basics - Anfänger-Themen 3
T countdown Methode mit Timer Java Basics - Anfänger-Themen 2
F Countdown Probleme Java Basics - Anfänger-Themen 9
R Countdown erstellen Java Basics - Anfänger-Themen 3
S Countdown auf JPanel ausgeben Java Basics - Anfänger-Themen 6
M Countdown in Java Java Basics - Anfänger-Themen 16
B Countdown zwischen 2 Zeitpunkten Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben