2009-05-13 23 views
0

Ich brauche eine einfache Möglichkeit, einen Kalender (ähnlich wie Google-Kalender) in Java zu implementieren. Der Kalender muss Montag - Sonntag oben und jede Stunde als Zeile anzeigen.Ansatz zum Erstellen eines einfachen Kalender in Java Swing

 Monday | Tuesday | Wednesday 
08:00 
09:00 
10:00 
11:00 

Wie würde man einen Kalender in Swing wie das schaffen? Ich benutze Netbeans IDE. Jede Spalte sollte in der Lage sein, etwas Text zu halten.

Könnte ich einfach die Tischkomponente im Schwung verwenden? Wenn ja, kann ich es ändern, um meine Bedürfnisse zu erfüllen?

Antwort

1

Sie möchten wahrscheinlich über die Verwendung von JTable nachdenken. Sie können eine AbstractTableModel verwenden, um die Dimensionen der Tabelle sowie einige andere Eigenschaften zu definieren, dann können Sie die obere Zeile und die erste Spalte mit den gewünschten Werten ausfüllen. Sie können auch bestimmte Teile der Tabelle festlegen, die von Ihren Benutzern bearbeitet werden können, falls Sie Daten in den Kalender eingeben möchten.

Für weitere Informationen, werfen Sie einen Blick auf die JTable documentation.

+0

Tun Sie es nicht! JTable saugt, besonders für Rich Content. Ich würde empfehlen, ein JPanel mit einem GridLayout mit JPanels für jedes Panel zu verwenden. Die JTables-Methode, Renderer für jede Zelle zu verwenden und zu Editoren zu wechseln, ist für eine Kalenderkomponente völlig ungeeignet. –

+0

"Rich Inhalt"? Das OP gab an, dass jede Zelle Text enthalten muss, keine Bilder oder irgendetwas anderes. Ich denke, die Verwendung einer JTable wäre die einfachere Lösung für dieses Problem, da es nicht nötig ist, die Haufen von JPanels in einem GridLayout instanziieren und dann irgendwie bearbeiten zu müssen. Für reichhaltige Inhalte, ja, könnte eine Reihe von JPanels eine JTable schlagen. Aber für einen reinen Textkalender sehe ich nicht, warum eine JTable unpassend ist. – Tim

+0

True, aber sie erwähnten auch, dass es Google Kalender ähnlich sein sollte, was weit über die Funktionalität von JTable hinausgeht. Auch JTable saugt immer noch. Was passiert, wenn das OP den Cursor für eine bestimmte Zelle ändern, einen Mouseover-Effekt hinzufügen, umgebrochenen Text verwenden oder einen komplexen Editor mit mehr als einer Komponente verwenden muss? Sie werden JTables unzähligen Mängeln begegnen. –

Verwandte Themen