Hallo zusammen,
hoffe ich bin hier richtig, habe Probleme mein Thread beim Klick auf einem Buttton zu steuern.
Hier mein kleines Programmm...
Ich bekomme jetzt die fehlermeldung.
"non-static variable threadstart cannot be refereced from a static context."
Woran liegt das? sorry denke ich mal ist ne Anfängerfrage!
Wenn mein Programm startet soll das Thread stehen, beim Klick auf den Button wird die Variable Threadstart true und das Thread startet. beim erneuten Klicken wird die Variable wieder false und das Thread stoppt.
Danke schonmal für eure Hilfe
Cyberobob
hoffe ich bin hier richtig, habe Probleme mein Thread beim Klick auf einem Buttton zu steuern.
Hier mein kleines Programmm...
Code:
import java.awt.*;
import java.awt.event.*;
public class Ausgabe extends Frame implements Runnable
{
Ampel KFZ1;
Ampel KFZ2;
Ampel FG1;
Ampel FG2;
street c;
Button b1;
Boolean threadstart=false;
public Ausgabe()
{
super("Ampel von Christian Dannenberg");
this.setLayout(null);
this.add(KFZ1 = new Ampel(15,50));
this.KFZ1.setBounds(100,140,15,50);
this.add(KFZ2 = new Ampel(15,50));
this.KFZ2.setBounds(280,280,15,50);
this.add(FG1 = new Ampel(15,50));
this.FG1.setBounds(100,210,15,50);
this.add(FG2 = new Ampel(15,50));
this.FG2.setBounds(280,210,15,50);
this.add(b1 = new Button("Anfordern"));
this.b1.setBounds(150,450,100,30);
this.b1.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
threadstart=true;
}
});
this.add(c = new street(160,400));
this.c.setBounds(120,30,160,400);
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
threadstart=true;
}
});
KFZ1.gruen();
KFZ2.gruen();
FG1.rotrot();
FG2.rotrot();
}
public void run()
{
while(true)
{
try
{
Thread.sleep(1000);
KFZ1.gelb();
KFZ2.gelb();
Thread.sleep(1000);
KFZ1.rot();
KFZ2.rot();
Thread.sleep(2000);
FG1.gruen();
FG2.gruen();
Thread.sleep(5000);
FG1.rotrot();
FG2.rotrot();
Thread.sleep(2000);
KFZ1.gelb();
KFZ2.gelb();
Thread.sleep(1000);
KFZ1.gruen();
KFZ2.gruen();
}
catch(Exception e) {}
}
}
public static void main(String args [])
{
Thread t;
Ausgabe f = new Ausgabe();
t = new Thread(f);
f.pack();
f.setSize(400,500);
f.setVisible(true);
f.repaint();
while (true)
{
if(threadstart==true)
{
t.start();
}
else
{
t.stop();
}
}
}
}
"non-static variable threadstart cannot be refereced from a static context."
Woran liegt das? sorry denke ich mal ist ne Anfängerfrage!
Wenn mein Programm startet soll das Thread stehen, beim Klick auf den Button wird die Variable Threadstart true und das Thread startet. beim erneuten Klicken wird die Variable wieder false und das Thread stoppt.
Danke schonmal für eure Hilfe
Cyberobob