JDialog (ToDo) by lug-kr #
Eine Projekt-Idee, die auf der Seite JavaApplicationFramework geboren wurde.
Abgrenzung #
diese(s) JDialog Klasse/Framework ist nicht zu verwechseln mit dem bei JFace erwähnten JDialog.Wunschkonzert #
GNU-Dialog unterstützt die folgenden Box Varianten:
- calendar - Datumsauswahl
- checklist - Ähnl. Menubox, jedoch mit Mehrfachauswahl
- form - Scrollwindow
- fselect - Fileselect
- gauge - Progressbar
- infobox - Messagebox, nach deren Ende der Bildschirm nicht geleert wird
- inputbox - Stringeingabe
- inputmenu - ähnl. Menu-Box, jedoch mit Umbenennungsmöglichkeit
- menu - "Speisekarte", nur ein Eintrag wird zurück gegeben
- msgbox - yesno-box ohne "no"
- passwordbox - verdeckte Eingabe
- radiolist - Es kann nur einen geben...
- tailbox - Info mit tail(1) Ausgabe
- tailboxbg - wie tailbox mit & (Ampersand) als Background-Task
- textbox - Dateianzeige in Dialogbox
- timebox - Für Zeitauswahl
- yesno - Ja- und Nein-Dialog
Wir brauchen eine Architektur, die es erlaubt, die Widgets in vorhandene Fenster einzubinden, eigene abhängige Fenster aufzumachen (d.h. Sperren der eigentlichen GUI) oder auch ganz unabhängige Fenster zu benutzen (z.B. für Programme, die ansonsten gar keine GUI haben wie im klassischen ~KDialog-Anwendungsfall).
Auch wenn das vielleicht nicht das optimal aufeinander abgestimmte Look&Feel ergibt, bin ich erstmal dafür, grosse Räder nicht neu zu erfinden. Wenn wir einen eigenen Filerequester oder ein eigenes Kalenderwidget bauen wollen, ist das ein Projekt für sich.
Was genau stört Dich an den Dingen, die JOptionPane bereits zur Verfügung stellt? Oder nehmen wir das vielleicht für den Anfang als Basis?
Wenn wir das wirklich machen wollen, schlage ich vor, daß man mit ein paar einfachen ("yesno" und "msgbox") anfängt, um sich erstmal über die Architektur im Klaren zu werden.
"gauge" und "tailbox" sehe ich als etwas besonderes, weil wir es da mit Threads zu tun bekommen und das wieder ein eigenes Thema ist. ("tailbox" und "tailboxbg" ist wohl in Java fast das Gleiche.)
"form" ist meine besondere Spezialität, weil meine SwingingBeans-Bibliothek sowas macht. Müsste ich ggf. mal überarbeiten und vereinfachen, aber das kann ja nie schaden.