Hallo zusammen,
wie die Jungfrau zum Kinde bin ich irgendwann doch bei Java gelandet. Nach langjaehriger Erfahrung mit Ansi C auf Mikrocontroller Ebene wollte ich neue Dinge ausprobieren. Bisher habe ich mich ganz gut geschlagen, okay OO braucht schon eine Weile bis die Konzepte im Kopf sind
Zum Hintergrund:
Mein Ziel ist es einen Terminkalender zu programmieren. Fuer die Anzeige der Termine gibt es eine Tages- und eine Wochenansicht. Der Benutzer kann Termine ueber ein Dialogfenster hinzufuegen.
Mein Problem bezieht sich lediglich auf die beste Umsetzung fuer das Layout. Leider bieten die kostenlosen Alternativen keine wirklich Loesung (brauchbar scheint mir der MIG Kalender aber leider auch teuer). Somit habe ich angefangen eine eigenes Layout zu basteln.
Tagesansicht mit Gridbaglayout
Die Tagesansicht habe ich mit einem GridBagLayout umgesetzt. In der linken Gridspalte stehen die Zeiten im Abstand von 30 min. In der rechten Gridspalte werden die Termine eingetragen.
Ich habe mich fuer das Gridbaglayout entschieden da ich die Hoehe der Zellen dynamisch je nach Anzahl Termine gestalten moechte.
=> Sind von 8:00 bis 8:30 uhr keine Termine eingetragen soll die Zelle eine minimale Hoehe besitzen.
Sind von 8:30 bis 9:00 10 Termin eingetragen soll diese Zelle entsprechend hoch sein.
Das Gridbag sitz in einem ScrollPane.
Die Termine habe ich als JButton umgesetzt die dann zum JPanel des jeweiligen Grids hinzugefuegt werden. Sprich: In jeder Zelle liegt per default ein JPanel.
Fuer die Wochenansicht wollte ich aehnlich fortfahren, bin mir nun allerdings nicht sicher ob diese Loesung zu hungrig ist da zu viele JPanels verwendet werden.
Wird zwischen den Ansichten gewechselt wird die neue Ansicht dynamisch erstellt und die Termine eingetragen.
Inzwischen hat mich etwas der Mut verlassen weil ich unsicher bin ob ich auf dem richtigen Weg bin. Laut Google verwenden viele Leidensgenossen JTable und einem eigenen Modell. Bei JTable kann man vermutlich aber die Hoehe der Zellen nicht dynamisch verwalten. Richtig?
Ich erwarte hier keine Programmierhilfestellung (vielleicht spaeter ;-)) sondern eher einen Rat von erfahrenen SWING GUI Entwicklern.
Ich programmiere in Eclipse und schreibe die GUI per Hand.
Ich bin sehr dankbar fuer einen guten Rat wie der richtige Weg aussehen koennte.
Vielen Dank fuer die Unterstuetzung
Thanks
John
wie die Jungfrau zum Kinde bin ich irgendwann doch bei Java gelandet. Nach langjaehriger Erfahrung mit Ansi C auf Mikrocontroller Ebene wollte ich neue Dinge ausprobieren. Bisher habe ich mich ganz gut geschlagen, okay OO braucht schon eine Weile bis die Konzepte im Kopf sind
Zum Hintergrund:
Mein Ziel ist es einen Terminkalender zu programmieren. Fuer die Anzeige der Termine gibt es eine Tages- und eine Wochenansicht. Der Benutzer kann Termine ueber ein Dialogfenster hinzufuegen.
Mein Problem bezieht sich lediglich auf die beste Umsetzung fuer das Layout. Leider bieten die kostenlosen Alternativen keine wirklich Loesung (brauchbar scheint mir der MIG Kalender aber leider auch teuer). Somit habe ich angefangen eine eigenes Layout zu basteln.
Tagesansicht mit Gridbaglayout
Die Tagesansicht habe ich mit einem GridBagLayout umgesetzt. In der linken Gridspalte stehen die Zeiten im Abstand von 30 min. In der rechten Gridspalte werden die Termine eingetragen.
Ich habe mich fuer das Gridbaglayout entschieden da ich die Hoehe der Zellen dynamisch je nach Anzahl Termine gestalten moechte.
=> Sind von 8:00 bis 8:30 uhr keine Termine eingetragen soll die Zelle eine minimale Hoehe besitzen.
Sind von 8:30 bis 9:00 10 Termin eingetragen soll diese Zelle entsprechend hoch sein.
Das Gridbag sitz in einem ScrollPane.
Die Termine habe ich als JButton umgesetzt die dann zum JPanel des jeweiligen Grids hinzugefuegt werden. Sprich: In jeder Zelle liegt per default ein JPanel.
Fuer die Wochenansicht wollte ich aehnlich fortfahren, bin mir nun allerdings nicht sicher ob diese Loesung zu hungrig ist da zu viele JPanels verwendet werden.
Wird zwischen den Ansichten gewechselt wird die neue Ansicht dynamisch erstellt und die Termine eingetragen.
Inzwischen hat mich etwas der Mut verlassen weil ich unsicher bin ob ich auf dem richtigen Weg bin. Laut Google verwenden viele Leidensgenossen JTable und einem eigenen Modell. Bei JTable kann man vermutlich aber die Hoehe der Zellen nicht dynamisch verwalten. Richtig?
Ich erwarte hier keine Programmierhilfestellung (vielleicht spaeter ;-)) sondern eher einen Rat von erfahrenen SWING GUI Entwicklern.
Ich programmiere in Eclipse und schreibe die GUI per Hand.
Ich bin sehr dankbar fuer einen guten Rat wie der richtige Weg aussehen koennte.
Vielen Dank fuer die Unterstuetzung
Thanks
John