Hallo,
in meinem Programm gibt es einige Aktivitäten, die etwas länger dauern. Dies soll dem Anwender über einen nicht modalen Dialog angezeigt werden, also "Ich mach jetzt das oder jenes, Bitte etwas warten".
Den Dialog habe ich unter NetBeans mit dem GUI-Builder erstellt. Der Code sieht so aus:
Obwohl ich bei den Eigenschaften die Option "modal" nicht aktiviert habe, wird der Dialog modal ausgeführt. Das heißt, das Warten-Fenster wird angezeigt, aber damit wird das Programm, der Teil also, wegen dem der Anwender warten muss, nicht ausgeführt. Der Dialog verhält sich modal.
Wenn ich unter den Eigenschaften für modalityType null festlege oder zusätzlich wie oben zu sehen in meinem Code setModal(false) hinzufüge, dann funktioniert das Verhalten des Dialoges einerseits so, wie es zu erwarten wäre, während der Dialog steht, kann der zeitaufwendige Teil abgearbeitet werden, aber der Hinweis-Text wird nicht angezeigt.
Was muss gemacht werden, dass beides funktioniert, dass der Text angezeigt wird, der Dialog aber die Fortsetzung des Programms nicht verhindert?
Danke vorweg,
kodela
in meinem Programm gibt es einige Aktivitäten, die etwas länger dauern. Dies soll dem Anwender über einen nicht modalen Dialog angezeigt werden, also "Ich mach jetzt das oder jenes, Bitte etwas warten".
Den Dialog habe ich unter NetBeans mit dem GUI-Builder erstellt. Der Code sieht so aus:
Java:
public class HinweisWarten extends JDialog {
private static final long serialVersionUID = 1L;
public HinweisWarten(java.awt.Frame parent) {
super(parent, true);
initComponents();
setModal(false); // testhalber von mir eingesetzt
setLocationRelativeTo(parent);
}
public void zeigeHinweis(String txt){
labelText.setText(txt);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
labelText = new javax.swing.JLabel();
// es folgt der generierte Code, den ich ausblende
}
Wenn ich unter den Eigenschaften für modalityType null festlege oder zusätzlich wie oben zu sehen in meinem Code setModal(false) hinzufüge, dann funktioniert das Verhalten des Dialoges einerseits so, wie es zu erwarten wäre, während der Dialog steht, kann der zeitaufwendige Teil abgearbeitet werden, aber der Hinweis-Text wird nicht angezeigt.
Was muss gemacht werden, dass beides funktioniert, dass der Text angezeigt wird, der Dialog aber die Fortsetzung des Programms nicht verhindert?
Danke vorweg,
kodela