# JTable - Spalten fixieren



## Sym (2. Aug 2006)

Hallo,

ist es irgendwie möglich, von einer Tabelle einige Spalten so zu fixieren, dass die umgebende JScrollPane nur über die restlichen Spalten "scrollt"?.

Ich wäre hier für jeden Tipp dankbar. 

Gruß Lars


----------



## AlArenal (2. Aug 2006)

Eine entsprechende Komponenten ist mir bisher nie untergekommen. 

Es ist bestenfalls theoretisch denkbar, dass man das Scrollen mit dem Model synchronisiert und für die "festen" Spalten dynamisch die Werte so anpasst, dass man visuellen Eindruck von fixierten Spalten bekommt. Aber das nur mal so ins Unreine gebrainstormt...


----------



## Leroy42 (2. Aug 2006)

AlArenal hat gesagt.:
			
		

> Eine entsprechende Komponenten ist mir bisher nie untergekommen.
> 
> Es ist bestenfalls theoretisch denkbar, dass man das Scrollen mit dem Model synchronisiert und für die "festen" Spalten dynamisch die Werte so anpasst, dass man visuellen Eindruck von fixierten Spalten bekommt. Aber das nur mal so ins Unreine gebrainstormt...


... hört sich aber sauber und realisierbar an :wink: 

Werd' ich zu Hause gleich mal antesten...


----------



## AlArenal (2. Aug 2006)

Denk dran mich später bei der Rede in Stockholm zu erwähnen...


----------



## Sym (2. Aug 2006)

Ja, an so etwas habe ich auch schon gedacht. Allerdings halte ich die Methode für unsauber und (je nach Tabelle) für komplex. 

Und bei meiner Tabelle sind die Daten von den Spalten abhängig.

Eine andere Idee wäre, dass evtl. in mehrere Tabellen aufzuteilen und in eine Klasse zu kapseln, so dass es nach aussen wie eine Tabelle wirkt. Finde ich aber auch aufwendig und wenig schön.

Hat sonst noch wer eine Idee?

<edit>ach ja: danke </edit>


----------



## Leroy42 (2. Aug 2006)

AlArenal hat gesagt.:
			
		

> Denk dran mich später bei der Rede in Stockholm zu erwähnen...


Aber nur wenn's zum _alternativen_ kommen wird.


----------



## AlArenal (2. Aug 2006)

Sym hat gesagt.:
			
		

> Ja, an so etwas habe ich auch schon gedacht. Allerdings halte ich die Methode für unsauber und (je nach Tabelle) für komplex.



Schade. Dann wird dich das hier sicher nicht interessieren:





@leroy42: Das wars dann mit dem Nobelpreis für die beste angepasste Swing-Komponente. 



> Eine andere Idee wäre, dass evtl. in mehrere Tabellen aufzuteilen und in eine Klasse zu kapseln, so dass es nach aussen wie eine Tabelle wirkt. Finde ich aber auch aufwendig und wenig schön.



Das mache ich andauernd mit diversen TreeModels. Da sollte es mit nem tableModel noch deutlich schmerzloser möglich sein. Halte ich auch weder für unsauber, noch zu komplex.


----------



## Sym (2. Aug 2006)

Das Problem bei mir ist, dass in der Table mehrer eigene Models sowie Editoren und Renderer hängen. Zusätzlich sind die Spalten verschiebbar (unter bestimmten Bedingungen). Deshalb das "komplex". 

Und unschön finde ich die Alternative, weil die Daten getrennt verwaltet werden.

Trotzdem wäre es nett, wenn Du den Code posten könntest. Vielleicht fällt mir ja dabei auf, wie ich das leicht umsetzen kann.

Gruß Lars


----------



## AlArenal (2. Aug 2006)

Sym hat gesagt.:
			
		

> Das Problem bei mir ist, dass in der Table mehrer eigene Models sowie Editoren und Renderer hängen. Zusätzlich sind die Spalten verschiebbar (unter bestimmten Bedingungen). Deshalb das "komplex".



Solange du deine Anpassungen "sauber" implementiert hast, sollte sich da nicht viel beißen.



> Und unschön finde ich die Alternative, weil die Daten getrennt verwaltet werden.



Welche Daten getrennt wovon?



> Trotzdem wäre es nett, wenn Du den Code posten könntest. Vielleicht fällt mir ja dabei auf, wie ich das leicht umsetzen kann.



Ich war sogar so nett den Screenshot zu verlinken


----------



## Leroy42 (2. Aug 2006)

AlArenal hat gesagt.:
			
		

> Ich war sogar so nett den Screenshot zu verlinken


 :shock:  Das muß einem aber auch gesagt werden.  :x
Oder sollen wir jetzt hier plötzlich mitdenken?  :autsch:


----------



## Sym (2. Aug 2006)

Ah, danke.  Habe das Bild nicht als Link erkannt.

Die Sachen sind natürlich "sauber" implementiert. Allerdings ist es nicht wenig komplex. 

Mit getrennte Daten meinte ich, dass ich die Daten der Tabelle trennen muss.

Na, ich schau mal durch den Code. Vielleicht kommt dabei ja die Erleuchtung und der "Aha-Effekt". 

Danke.


----------



## AlArenal (2. Aug 2006)

Sym hat gesagt.:
			
		

> Mit getrennte Daten meinte ich, dass ich die Daten der Tabelle trennen muss.



Ist mir nicht klar.



> Na, ich schau mal durch den Code. Vielleicht kommt dabei ja die Erleuchtung und der "Aha-Effekt".



Ist ganz pfiffig gemacht. Müsste natürlich für nicht so statische Szenarien komplett dynamisiert werden.


----------

