== 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|http://www.coderanch.com/t/335357/Swing-AWT-SWT-JFace/java/getting-KeyPressed-JDialog-example] erwähnten JDialog.

: Wenn das hier ein echtes Projekt wird, sollten wir einen anderen Namen wählen, um Verwechslungen auszuschliessen. -- ThomasBayen



=== Wunschkonzert ===

[GNU-Dialog|http://linux.die.net/man/1/dialog] unterstützt die folgenden Box Varianten:
* calendar - Datumsauswahl
** [http://www.toedter.com/en/jcalendar/]
* 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

Hmmm... bei dieser Wunschliste fallen mir direkt ein paar Bemerkungen und Fragen ein. Also Wiki-mäßig eine nach der anderen, so daß Ihr Eure eigenen Antworten dazwischensetzen könnt: -- ThomasBayen

:: es lohnt sich evtl. ein Blick [SwingLabs|http://swinglabs.org/demos.jsp]

Grundsätzlich ist die Frage, ob wir versuchen, die Vorbilder so genau wie möglich zu kopieren, oder ob wir besser den "Java Way" gehen. Ich wäre im Zweifel für letzteres.

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.