PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Java Swing] JOptionPane erweitern?


Monger
2006-05-14, 20:25:24
Ich hab schon wieder eine merkwürdige Frage...

Ich hab grad eben das JOptionPane in Swing für mich entdeckt. Ich finde das eigentlich recht praktisch, vorallem weil es einem an Layout eine ganze Menge Arbeit abnimmt.

Jetzt habe ich den Fall, dass sich in meinem Programm auf Knopfdruck ein Dialog öffnen soll, in dem ich verschiedene Dinge einstellen kann, und den ich dann entweder mit OK übernehmen oder abbrechen kann.

Jetzt meine Frage: kann ich dazu das JOptionPane nehmen, oder wird das so umständlich, dass ich es lieber von Hand stricken sollte?

Meine größte Sorge ist, wie ich denn die gewählten Optionen aus dem Dialog wieder rauskriegen soll. Ich dachte an ein Objekt, was mir alle Optionen gesammelt zurückgibt, so dass mein Aufruf etwa so aussieht:


Optionen optionen = JOptionPane.showOptionDialog(...);

Gibt es bei Swing vielleicht irgendwas, was eher für meinen Fall geeignet ist?

HellHorse
2006-05-14, 21:15:08
RTFM (http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JOptionPane.html#showOptionDialog(java.awt.Component,%20java.lang.Object,%20java .lang.String,%20int,%20int,%20javax.swing.Icon,%20java.lang.Object[],%20java.lang.Object))
Returns:
an integer indicating the option chosen by the user, or CLOSED_OPTION if the user closed the dialog
Irgendwie bezweifle ich aber, dass #showOptionDialog wirklich ist was du brauchst (verschiedene Dinge einstellen).
http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html

Monger
2006-05-14, 21:47:16
HellHorse[/POST]']RTFM (http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JOptionPane.html#showOptionDialog(java.awt.Component,%20java.lang.Object,%20java .lang.String,%20int,%20int,%20javax.swing.Icon,%20java.lang.Object[],%20java.lang.Object))

Irgendwie bezweifle ich aber, dass #showOptionDialog wirklich ist was du brauchst (verschiedene Dinge einstellen).
http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html

Hab ich alles vorher gelesen! ;)

Ein int ist aber ein bißchen schmal für das was ich vorhabe. In mein Optionsfeld soll (mindestens) ein File, ein String und ein boolean definiert werden.

Naja, vielleicht ist es wirklich einfacher, ausgehend vom JDialog sich selber was zu bauen...

HellHorse
2006-05-15, 20:28:01
Monger[/POST]']
Ein int ist aber ein bißchen schmal für das was ich vorhabe. In mein Optionsfeld soll (mindestens) ein File, ein String und ein boolean definiert werden.
So was habe ich vermutet. Ist aus meiner Sicht schon zu komplex für JOptionPane.
Monger[/POST]']
Naja, vielleicht ist es wirklich einfacher, ausgehend vom JDialog sich selber was zu bauen...
Es gibt so Frameworks mit denen sich generisch Konfigurationsdialoge erstellen lassen wie sie oft bei IDEs verwendet werden. Kann dir aber auf Anhieb keines nennen.
Wenn du bloss drei Optionen hast, lohnt sich der Aufwand jedoch wohl kaum.