Frage

Ich bin mit einem JFrame als Pop-up aus einem Hauptrahmen, in dem der Benutzer sollte einige Informationen und drücken Sie dann OK einzugeben. Aber das Problem ist, dass, sobald dieser Unterrahmen eröffnet hat, mag ich das Programm ein anderes Signal zu ignorieren, bis die OK-Taste gedrückt wird, ähnlich wie, wie es mit JOptionPanes erfolgt. So wie es jetzt ist, können Sie auf die Schaltfläche klicken Sie auf den Unterrahmen mehrmals zu öffnen, so dass mehrere Rahmen bekommen, und das ist nicht die Absicht (es eine Menge Bugs verursacht sogar).

Ich kann es mit einem boolean lösen, die wahr ist, wenn die OK-Taste gedrückt wird, aber das scheint nicht wie eine kühle Art und Weise, es zu beheben. Ich fühle es eine andere Möglichkeit, es zu tun sein muß, da ich die begehrten Effekt kommt von meinem JOptionPanes sehen kann, aber kann es nicht bekommen.

Prost.

War es hilfreich?

Lösung

Sie müssen JDialog mit modal = true . Vom Javadocs:

  

modal - gibt an, ob Dialogblocks Benutzereingabe zu anderen Top-Level-Fenstern, wenn gezeigt

.

Andere Tipps

Sie einfach die JFrame zu einem JDialog ändern.

Dann im Konstruktor verwenden diese Zeile:

setModal(true);

Ihre App wird dann blockiert, bis das Dialogfeld geschlossen wird.

Sie könnten in ein JOptionPane.showInputDialog() wenn Ihre Benutzer einfach eine String eingeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top