Hallo,
also ich habe eine JComboBox in der 2 Items zur auswahl sind. Ich möche gern das alles andere still steht bis ich ein Item gewählt habe. Also man soll keine Textfelder, Buttons,... etz. anwählen können. So in etwa wie wenn beim beenden das "Wollen sie wirklich schließen?" Fenster auftaucht.
Als erstes ist mir hier ein Thread eingefallen. Aber denn wollte ich eigtl nicht einbauen. Hat wer eine andere Lösung?
JComboBox auswahl erzwingen. Alles andere Wartet? Wie ??
-
-
Das mit dem „Beenden-Fenster“ ist am einfachsten mit einen modalen JDialog zu lösen, in den du deine ComboBox hinein gibst.
Den Dialog erzeugst du dann so:PHPJDialog dialog=new JDialog(ownerFrame,“put your title here“,true); //add combobox to dialog dialog.setVisible(true);
Der ownerFrame ist dein Hauptfenster, das blockieren soll und das true sorgt eben dafür, dass der Dialog modal ist, und somit zuerst der Dialog geschlossen werden muss (bzw. in deinem Fall eine Auswahl vorgenommen werden muss) bevor im ownerFrame weitergemacht werden kann.
In deinem Listener für die ComboBox musst du dann nur noch den Dialog wieder schließen, und es geht weiter. -
Alternative wäre ein JOptionDialog , mit der Methode showInputDialog() kann man sich einen kleinen Dialog mit Combobox erzeugen. Nachteil ist aber, dass man keine Listener hinzufügen kann, der Dialog abgebrochen werden kann, und dann null zurück gibt. Also müsste man bei Rückgabe von null erneut nachfragen. Sprich in der Programmierung einfacher als ein eigener Dialog aber weniger Benutzerfreundlich.
-
Glaub ich hab das ein bisschen falsch formuliert ^^. Die Combobox sitzt auf den Hauptframe wo noch einige andere Buttons usw sitzen. Meinte nur so in der Art, sollte ein Beispiel sein :). Die ComboBox soll da schon fest sitzen bleiben. Aber gibt wohl keine andere möglichkeit als mit einen Dialog.
Danke trozdem an alle :). -
na ja, du kannst alle anderen formularelemente mit setEnabled(false) deaktivieren, und mit einem listener in der combo box dann wieder aktivieren, wenn eine auswahl getroffen worden ist.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!