-JAVA- timer einrichten..

feeeL

Canadian Lumberjack
Thread Starter
Mitglied seit
02.04.2007
Beiträge
944
Ort
Hanshausen
Hey,

Ich habe eine Oberfläche, mit Buttons, die erst nach einer bestimmten Zeit reagieren sollen, aber wie?

Ich muss doch erst timerStart(); anmelden und dann eine Klasse

public void timerTick()
{

}

Aber was muss ich eintragen? Muss ich dort einfach die Funktion der Buttons reinmachen? z.B:

public void timerTick()
{
if(command.equals("Stufe1")&&bc.getHoehe()<=370)
bc.setHoehe(bc.getHoehe()+10);

}

Ist das so richtig oder muss ich noch etwas beachten?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
poste mal deinen ganzen (kommentierten) Quellcode,
und beschreibe in welcher Art die Buttons nach einer bestimmten Zeit "reagieren sollen"


;)
 
import java.awt.*;
import java.awt.event.*;

public class Hauptprogramm extends XYFrame
{
private ThermometerCanvas bc;
private SteuerPanel sp;
private int hoehe;

public Hauptprogramm()
{
super("Thermometer");
setSize(800,600);
setLocation(50,50);

sp = new SteuerPanel();
sp.setLocation(20,100);
sp.addActionListener(this);
add(sp);

bc = new ThermometerCanvas();
bc.setLocation(200,40);
bc.setHoehe(200);
add(bc);

setVisible(true);
}

/**
* Die Methode actionPerformed, empfängt, verarbeitet und schickt
* die Nachrichten weiter, die es aus dem SteuerPanel
* bekommt.
*/
public void actionPerformed(ActionEvent e)
{
Object quelle;
String command;
quelle = e.getSource();
command = e.getActionCommand();
temperatur(command);

}

/**
* Die Methode temperatur, ändert die Höhe ( die Temperatur ) des Thermomters
* Es wird immer um eine bestimmte Anzahl an Pixel erhöht.
*/
public void temperatur(String command)
{

try
{
Thread.sleep(2000);
}


catch(Exception e)
{
//Fehlerbehandlung
}


if(command.equals("Stufe1")&&bc.getHoehe()<=390)
bc.setHoehe(bc.getHoehe()+10);

else if(command.equals("Stufe2")&&bc.getHoehe()<=390)
bc.setHoehe(bc.getHoehe()+20);

else if(command.equals("Stufe3")&&bc.getHoehe()<=390)
bc.setHoehe(bc.getHoehe()+30);

else if(command.equals("Stufe4")&&bc.getHoehe()<=390)
bc.setHoehe(bc.getHoehe()+40);

else if(command.equals("Stufe5")&&bc.getHoehe()<=390)
bc.setHoehe(bc.getHoehe()+50);

else if(command.equals("FensterAuf")&&bc.getHoehe()<=500)
bc.setHoehe(bc.getHoehe()-50);

else if(command.equals("FensterZu")&&bc.getHoehe()<=390)
bc.setHoehe(bc.getHoehe()+1);
}


public static void main(String[] args) //Das Hauptprogramm wird gestartet
{
new Hauptprogramm();
}
}


Ich habe jetzt eine zwischen Lösung, aber das ist auch nichts ganzes und nichts halbes...
Bei der Methode temperatur, soll wenn ein Button gedrückt wird z.B. alle 2Sekunden die Temperatir erhöht werden, also nicht erst wenn ich einen Button drücke, sondern, wenn ich 1 mal drücke, dann soll solange alle 2 Sekunden erhöht werden bis ich etwas anderes drücke...

Verstehst du wie ich es meinte?

danke schonmal

lg
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh