Discussion:
[SWING] JTable und Zelle ueber mehrere Spalten
(zu alt für eine Antwort)
Achim Grolms
2005-03-08 22:20:47 UTC
Permalink
Hallo,

Ist es möglich in einer JTable eine Zelle zu haben,
die sich über mehrere Spalten erstreckt?

Ich meine soetwas:

---+---+---+---+---+---+
1 | 2 | 3 | 4 | 5 | 6 |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+
| so etwas | | |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+

Falls möglich - hat jemand Beispielcode zur Hand?
Falls nicht möglich - wie kann man soetwas am geschicktesten
"nachbauen"?

Vielen Dank,
Achim
Bernd Post
2005-03-08 22:40:20 UTC
Permalink
Post by Achim Grolms
Hallo,
Ist es möglich in einer JTable eine Zelle zu haben,
die sich über mehrere Spalten erstreckt?
---+---+---+---+---+---+
1 | 2 | 3 | 4 | 5 | 6 |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+
| so etwas | | |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+
Falls möglich - hat jemand Beispielcode zur Hand?
Falls nicht möglich - wie kann man soetwas am geschicktesten
"nachbauen"?
Vielen Dank,
Achim
Nicht ausprobiert aber google mal nach JTable und wrap cells
Da finde ich zB. das
http://www.codeguru.com/java/articles/305.shtml

HTH
Bernd
Malte Schneider
2005-03-09 07:35:55 UTC
Permalink
Post by Bernd Post
Nicht ausprobiert aber google mal nach JTable und wrap cells
Da finde ich zB. das
http://www.codeguru.com/java/articles/305.shtml
HTH
Bernd
Das ist aber keine Lösung für das beschriebene Problem. In dem Beispiel
sind Zeilenumbrüche in Zellen erlaubt, nicht Zellen über mehrere
Spalten. Leider fällt mir auf Anhieb auch keine Lösung ein.

Malte
Hauke Ingmar
2005-03-09 09:14:55 UTC
Permalink
Post by Malte Schneider
Post by Bernd Post
Nicht ausprobiert aber google mal nach JTable und wrap cells
Da finde ich zB. das
http://www.codeguru.com/java/articles/305.shtml
HTH
Bernd
Das ist aber keine Lösung für das beschriebene Problem. In dem Beispiel
sind Zeilenumbrüche in Zellen erlaubt, nicht Zellen über mehrere
Spalten. Leider fällt mir auf Anhieb auch keine Lösung ein.
Standardantwort bei Swing-Problemen: Google mal nach "tame swing
examples". Da gibt es unter anderem so etwas. (Und ich merke mir den Link
bei Gelegenheit :-)

Bis denn
Marcel Stör
2005-03-09 21:38:30 UTC
Permalink
Post by Hauke Ingmar
Post by Malte Schneider
Post by Bernd Post
Nicht ausprobiert aber google mal nach JTable und wrap cells
Da finde ich zB. das
http://www.codeguru.com/java/articles/305.shtml
HTH
Bernd
Das ist aber keine Lösung für das beschriebene Problem. In dem
Beispiel sind Zeilenumbrüche in Zellen erlaubt, nicht Zellen über
mehrere Spalten. Leider fällt mir auf Anhieb auch keine Lösung ein.
Standardantwort bei Swing-Problemen: Google mal nach "tame swing
examples". Da gibt es unter anderem so etwas. (Und ich merke mir den
Link bei Gelegenheit :-)
Tame's site gibt es leider seit einiger Zeit nicht mehr. Ich mir jedoch die
Links zu zwei "mirror"s abgelegt:
http://www.physci.org/codes/tame/index.jsp
http://www.objects.com.au/java/examples/index.jsp


--
Marcel Stör
http://www.frightanic.com

Michael Schmidt
2005-03-09 09:30:49 UTC
Permalink
Post by Achim Grolms
Hallo,
Ist es möglich in einer JTable eine Zelle zu haben,
die sich über mehrere Spalten erstreckt?
---+---+---+---+---+---+
1 | 2 | 3 | 4 | 5 | 6 |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+
| so etwas | | |
---+---+---+---+---+---+
| | | | | |
---+---+---+---+---+---+
Falls möglich - hat jemand Beispielcode zur Hand?
Falls nicht möglich - wie kann man soetwas am geschicktesten
"nachbauen"?
Vielen Dank,
Achim
Ich hatte ein ähnliches Problem, daß ich verschachtelte mehrzeilige
Header und Frozen Columns und Rows brauchte.

Dafür war JXTable dann meine Lösung. Google mal danach.

Evtl. findest du in dem Code einen Ansatz, aber ich glaube, für die
Tabelle selbst wird wieder JTable genommen.

Ansonsten, wenn die Größe der Tabelle halbwegs bekannt ist, sollte es
mit GridBagLayout und den Constraints immer auf Fill.BOTH und Insets
(0,0,0,0) kein Problem sein, das selbst zu basteln.

Borders jeweils auf LineBorder setzen nicht vergessen, damit es wie eine
Tabelle aussieht.

Wenn es bloß zum Anzeigen ist, also uneditierbar, kannst du auch eine
HTML-Tabelle in einem JEditorPane enzeigen lassen.



Micha
Achim Grolms
2005-03-09 15:22:39 UTC
Permalink
Post by Michael Schmidt
Dafür war JXTable dann meine Lösung. Google mal danach.
Meinst Du org.jdesktop.swing.JXTable
von <http://javadesktop.org/jdnc/0_5/docs/api/index.html> ?
Post by Michael Schmidt
Evtl. findest du in dem Code einen Ansatz, aber ich glaube, für die
Tabelle selbst wird wieder JTable genommen.
Das macht nichts, solange ich das "wie geht" dort finde.
Post by Michael Schmidt
Ansonsten, wenn die Größe der Tabelle halbwegs bekannt ist, sollte es
mit GridBagLayout
Auch eine Idee, rund um GridBagLayout was bauen könnte auch gehen!
Post by Michael Schmidt
Wenn es bloß zum Anzeigen ist, also uneditierbar, kannst du auch eine
HTML-Tabelle in einem JEditorPane enzeigen lassen.
Nein, es muß zum editieren sein.
Von links nach rechts ist die Zeitachse, darin kommen vor

-Monatsscheiben (normale Spalte)
-Quartale mit beliebigem Monatsoffset (drei Spalten breite Zelle)
-Datumsintervalle (komplett durchgehende Zelle, selbst gerendert)

Wenn ich was funktionierendes gebaut haben,
erstatte ich hier nochmla Bericht.

Danke für die Hilfe,
Achim
Michael Schmidt
2005-03-09 15:32:57 UTC
Permalink
Post by Achim Grolms
Post by Michael Schmidt
Dafür war JXTable dann meine Lösung. Google mal danach.
Meinst Du org.jdesktop.swing.JXTable
von <http://javadesktop.org/jdnc/0_5/docs/api/index.html> ?
Also die, die ich im projekt nutze, hat den package-Namen

net.sf.xframe.swing.JXTable
Post by Achim Grolms
Post by Michael Schmidt
Ansonsten, wenn die Größe der Tabelle halbwegs bekannt ist, sollte es
mit GridBagLayout
Auch eine Idee, rund um GridBagLayout was bauen könnte auch gehen!
Also ich habe auch das gemacht, mit JFormattedTextFields und JLabels als
Zellen.

Micha
Loading...