Hallo zusammen!
Ich habe ein Problem in Java und konnte online keine Lösung dazu finden. Ich hoff jemand hier kann mir helfen.
Ich habe 2 Threads:
Der Button im Frame wird jetzt aber nie angzeigt. Wenn ich aber vor dem While ein this.wait(1); ohne synchronized mache, dann wird der Button angezeigt, ich erhalte aber eine IllegalMonitorStateException.
Grundsätzlich möchte ich das folgendes geschieht:
Thread2 soll gestartet und das Frame darin gezeichtnet werden. Dann soll Thread1 gestartet werden um die Methode darin auszuführen. Bis aber die Methode in Thread1 fertig ist, soll das MainFrame warten und noch nicht angzeigt werden. Erst wenn Thread1 fertig ist, soll das Frame aus Thread2 verschwinden und das MainFrame angezeigt werden.
Bitte um eure Hilfe!
Ich habe ein Problem in Java und konnte online keine Lösung dazu finden. Ich hoff jemand hier kann mir helfen.
Ich habe 2 Threads:
Java:
class Thread1 extends Thread
{
@Override
public void run()
{
someMethod();
this.interrupt();
}
};
Java:
class Thread2 extends Thread
{
@Override
public void run()
{
JFrame f = new JFrame("Das ist der Text");
JPanel jp = new JPanel();
JButton bt = new JButton("Text");
jp.add(bt);
f.add(jp);
f.setVisible(true);
}
};
Java:
Thread t1 = new Thread1();
Thread t2 = new Thread2();
t2.start();
t1.start();
while(t1.isAlive())
{
try
{
synchronized (this)
{
this.wait(1000);
}
}
catch (InterruptedException ex)
{
...
}
}
Der Button im Frame wird jetzt aber nie angzeigt. Wenn ich aber vor dem While ein this.wait(1); ohne synchronized mache, dann wird der Button angezeigt, ich erhalte aber eine IllegalMonitorStateException.
Grundsätzlich möchte ich das folgendes geschieht:
Thread2 soll gestartet und das Frame darin gezeichtnet werden. Dann soll Thread1 gestartet werden um die Methode darin auszuführen. Bis aber die Methode in Thread1 fertig ist, soll das MainFrame warten und noch nicht angzeigt werden. Erst wenn Thread1 fertig ist, soll das Frame aus Thread2 verschwinden und das MainFrame angezeigt werden.
Bitte um eure Hilfe!