Ich habe folgendes Problem:
Ich habe eine GUI entwickelt und diese GUI funktioniert auch, aber dieses Programm benötigt eine while(true) schleife. Ich habe diese Schleife extra in einen eigenen Thread gesetzt damit sie die GUI nicht stört, aber das tut sie trotzdem irgendwie. Denn die GUI startet nun nicht mehr. Es liegt aber nicht am Thread, denn wenn ich die while schleife lösche funktioniert alles wieder.
Hier der Code der Main/GUI Klasse:
Hier der Code der Thread Klasse:
Vielen Dank schon mal im Voraus.
Ich habe eine GUI entwickelt und diese GUI funktioniert auch, aber dieses Programm benötigt eine while(true) schleife. Ich habe diese Schleife extra in einen eigenen Thread gesetzt damit sie die GUI nicht stört, aber das tut sie trotzdem irgendwie. Denn die GUI startet nun nicht mehr. Es liegt aber nicht am Thread, denn wenn ich die while schleife lösche funktioniert alles wieder.
Hier der Code der Main/GUI Klasse:
Java:
public class Main extends JFrame {
private JPanel contentPane;
public static JLabel lblBullet;
public static JLabel lblSlime;
public static JLabel lblApple;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 607, 447);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
//-----------------------Apple-------------------------------------
ImageIcon AppleIcon = new ImageIcon(Main.class.getResource("/de/KISnake/IMG/apple.png"));
Image ImgAppleIcon = AppleIcon.getImage();
Image newImgAppleIcon = ImgAppleIcon.getScaledInstance(30, 30, Image.SCALE_SMOOTH);
ImageIcon newAppleIcon = new ImageIcon(newImgAppleIcon);
//----------------------Slime-------------------------------------
ImageIcon SlimeIcon = new ImageIcon(Main.class.getResource("/de/KISnake/IMG/Slime.png"));
Image SlimeIMG = SlimeIcon.getImage();
Image NewSlimeIMG = SlimeIMG.getScaledInstance(50,50, Image.SCALE_SMOOTH);
ImageIcon NewSlimeIcon = new ImageIcon(NewSlimeIMG);
//----------------------Bullet------------------------------------
ImageIcon BulletIcon = new ImageIcon(Main.class.getResource("/de/KISnake/IMG/pixel-space-rocket.jpg"));
Image BulletIMG = BulletIcon.getImage();
Image NewBulletIMG = BulletIMG.getScaledInstance(20, 30, Image.SCALE_SMOOTH);
ImageIcon NewBulletIcon = new ImageIcon(NewBulletIMG);
//----------------------Label-------------------------------------
lblApple = new JLabel("");
lblApple.setIcon(newAppleIcon);
lblApple.setBounds(267, 143, 30, 30);
contentPane.add(lblApple);
lblSlime = new JLabel("");
lblSlime.setIcon(NewSlimeIcon);
lblSlime.setBounds(81, 249, 50, 50);
contentPane.add(lblSlime);
lblBullet = new JLabel("");
lblBullet.setIcon(NewBulletIcon);
lblBullet.setBounds(103, 390, 20, 30);
contentPane.add(lblBullet);
//----------------------load--------------------------------------
MainProcess pr = new MainProcess();
pr.run();
}
}
Hier der Code der Thread Klasse:
Java:
public class MainProcess extends Thread {
@Override
public void run() {
super.run();
while (true){
System.out.println("test");
}
}
}
Vielen Dank schon mal im Voraus.