Hi,
ich bin mit Java noch ziemlich unerfahren. Ich wollte einen Thread erstellen. Meine erwartete Ausgabe ist, dass einmal ein Frame erscheint und eine Ausgabe mit "Anweisungsnummern", die von der Eingabe des Frames abhängt. Jedoch ist das Frame, welches in dem Thread geöffnet werden soll nicht da. Ich komme nicht drauf was ich falsch gemacht habe
.
Ich hoffe mir kann jmd helfen
Danke im Voraus
Lg bttl
ich bin mit Java noch ziemlich unerfahren. Ich wollte einen Thread erstellen. Meine erwartete Ausgabe ist, dass einmal ein Frame erscheint und eine Ausgabe mit "Anweisungsnummern", die von der Eingabe des Frames abhängt. Jedoch ist das Frame, welches in dem Thread geöffnet werden soll nicht da. Ich komme nicht drauf was ich falsch gemacht habe
Java:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.concurrent.TimeUnit;
public class Snake extends Thread{
static int stnr;
static int x=1;
public static void main(String[]args)throws InterruptedException{
Snake t1 = new Snake();
t1.start();
while(x==1){
TimeUnit.SECONDS.sleep(1);
System.out.println(stnr);
}
}
public void run(){
int x=0;
JFrame meinJFrame = new JFrame();
meinJFrame.setTitle("Steuerung");
JPanel panel = new JPanel();
JButton links = new JButton("links");
JButton rechts = new JButton("links");
JButton oben = new JButton("oben");
JButton unten = new JButton("unten");
while (x==1) {
ActionListener l = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
stnr=1;
}
};
ActionListener r = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
stnr=2;
}
};
ActionListener o = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
stnr=3;
}
};
ActionListener u = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
stnr=4;
}
};
links.addActionListener(l);
rechts.addActionListener(r);
oben.addActionListener(o);
unten.addActionListener(u);
panel.add(links);
panel.add(rechts);
panel.add(oben);
panel.add(unten);
meinJFrame.add(panel);
meinJFrame.pack();
meinJFrame.setVisible(true);
try{
TimeUnit.SECONDS.sleep(1);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}
Danke im Voraus
Lg bttl