Warum funktioniert mein Thread nicht?Warum funktioniert mein Thread nicht?
Ich möchte eine Nachricht auf JFrame
für eine kurze Zeit .. dann möchte ich die Nachricht zu schließen und starten meine Haupt JPanel
.
Sollte ich den Thread außerhalb meiner Hauptklasse platzieren?
Ich suchte auf Google über mehr..aber ich bin hoffnungslos.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class SwitchCheck {
public static void main(String[] args) {
final JFrame JF = new JFrame("SwitchJpanel");
JF.setSize(300, 200);
JF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Thread Cl = new Thread() {
public void run() {
try {
JPanel P = new JPanel(null);
JF.getContentPane().add(P);
JButton L = new JButton("Wellcome");
L.setBounds(20, 30, 100, 20);
P.add(L);
sleep(10000000);
} catch (Exception e) {
}
}
};
Cl.start();
JF.getContentPane().removeAll();
JF.getContentPane().revalidate();
final JPanel P1 = new JPanel(null);
JF.getContentPane().add(P1);
JLabel L1 = new JLabel("Left");
L1.setBounds(10, 20, 100, 20);
P1.add(L1);
JLabel L2 = new JLabel("Right");
L2.setBounds(120, 20, 100, 20);
P1.add(L2);
final JButton B1 = new JButton("Panel1");
B1.setBounds(20, 60, 100, 20);
P1.add(B1);
final JButton B2 = new JButton("Panel2");
B2.setBounds(120, 60, 100, 20);
P1.add(B2);
B1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
JF.getContentPane().removeAll();
JPanel P1 = new JPanel(null);
JF.getContentPane().add(P1);
JF.getContentPane().revalidate();
JLabel L1 = new JLabel("Left");
L1.setBounds(10, 20, 100, 20);
P1.add(L1);
JLabel L2 = new JLabel("Right");
L2.setBounds(120, 20, 100, 20);
P1.add(L2);
B1.setText("Panel1");
B1.setBounds(20, 60, 100, 20);
P1.add(B1);
B2.setText("Panel2");
B2.setBounds(120, 60, 100, 20);
P1.add(B2);
}
});
B2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
JF.getContentPane().removeAll();
JPanel P2 = new JPanel(null);
JF.getContentPane().add(P2);
JF.getContentPane().revalidate();
JLabel L3 = new JLabel("UP");
L3.setBounds(10, 20, 100, 20);
P2.add(L3);
JLabel L4 = new JLabel("Down");
L4.setBounds(120, 20, 100, 20);
P2.add(L4);
B1.setText("Panel3");
B1.setBounds(20, 60, 100, 20);
P2.add(B1);
B2.setText("Panel4");
B2.setBounds(120, 60, 100, 20);
P2.add(B2);
}
});
JF.setResizable(false);
JF.setVisible(true);
}
}
Danke .. ich über Swing-Timer nicht weiß .. Ich benutze es jetzt und arbeite :) wow –