Hi,
habe ein Problem mit meinen Dialogen.
Dialog 1 (modal) wird geöffnet und ruft beim Klick auf "ok" eine Methode einer anderen Klasse auf.
In dieser Methode wird ein neuer modaler Dialog geöffnet:
Der Effekt ist jetzt folgender:
Der 1. Dialog ist modal und funktinoiert einwandfrei. Beim Klick auf "ok" wird er geschlossen und der andere Dialog wird auch angezeigt - allerdings nicht modal.
Da es sich beim 2. Dialog um einen Wartebildschirm handelt, hinter dem ein Thread läuft, kommt das Programm mit den Daten durcheinander, da die vorhergehende Methode nicht blockiert wird (weil der 2. Dialog eben nicht modal ist).
Was kann ich jetzt tun, um das Ganze möglichst einfach zu lösen?
Setze ich den 1. Dialog NICHT modal, funktioniert es. Allerdings ist das keine ernsthafte Alternative für mich :roll:
Hat jemand eine Idee?
Philipp
habe ein Problem mit meinen Dialogen.
Dialog 1 (modal) wird geöffnet und ruft beim Klick auf "ok" eine Methode einer anderen Klasse auf.
In dieser Methode wird ein neuer modaler Dialog geöffnet:
Code:
public class OpenProfileDialog extends JDialog
{
OpenProfileDialog( JFrame owner, final String name, final int ma_id )
{
super( owner, true );
[...]
okButton.addActionListener( new ActionListener(){ public void actionPerformed( ActionEvent e )
{
setVisible( false );
Gui.openProfile( name, ma_id, listIDs[ profileList.getSelectedIndex() ] );
} } );
Der Effekt ist jetzt folgender:
Der 1. Dialog ist modal und funktinoiert einwandfrei. Beim Klick auf "ok" wird er geschlossen und der andere Dialog wird auch angezeigt - allerdings nicht modal.
Da es sich beim 2. Dialog um einen Wartebildschirm handelt, hinter dem ein Thread läuft, kommt das Programm mit den Daten durcheinander, da die vorhergehende Methode nicht blockiert wird (weil der 2. Dialog eben nicht modal ist).
Was kann ich jetzt tun, um das Ganze möglichst einfach zu lösen?
Setze ich den 1. Dialog NICHT modal, funktioniert es. Allerdings ist das keine ernsthafte Alternative für mich :roll:
Hat jemand eine Idee?
Philipp