/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JTable spørgsmål...
Fra : Simon [2700]


Dato : 13-04-05 15:20

Hej,

Jeg skal lave en oversigt over nogle overvågede maskiner og deres services,
og tænkte det var smart at vise i en JTable,

1)
men hvordan får jeg den til at autosize column bredden ? jeg har prøvet med

serverTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);

Der ikke ser ud til at have nogen indflydelse, jeg synes ikke der er andre
der ser ud til at være den rigtige..
- Skal en evt løsning kaldes hver gang jeg gerne vil have den til at resize
columns så de passer, eller gør den
det automatisk når den er sat til (er det overhovedet muligt ?)..


2)
Hvordan får jeg den til at vise column navne øverst (om muligt også gerne
selvom der scrolles verticalt?) ?
jeg fandt et eksempel jeg har arbejdet udfra der siger noget i retning af

JTable table = new JTable(columnNames, data);

hvor columnNames er et string array, og data er et 2D string array...
men der vises ingen navne på kolonnerne... :(

på forhånd tak for hjælpen !

mvh.Simon



 
 
Thomas Thorndahl (14-04-2005)
Kommentar
Fra : Thomas Thorndahl


Dato : 14-04-05 13:24

Hej Simon,


"Simon [2700]" <devnull@linux.org> skrev i en meddelelse
news:425d2a70$0$204$edfadb0f@dread11.news.tele.dk...

> 2)
> Hvordan får jeg den til at vise column navne øverst (om muligt også gerne
> selvom der scrolles verticalt?) ?
> JTable table = new JTable(columnNames, data);

Jeg mener at du laver tabellen korrekt, men en kolonne-overskrifterne kommer
ikke automatisk på idet de ligger i en komponent for sig selv. Dvs. de ikke
indgår i JTable'ens visning. De kan derimod hentes ud med
getTableHeader()-metoden og placeres ovenover selve JTabe'en. En nemmere
måde, især hvis du alligevel skal have scrollbars, at pakke din JTable ind i
en JScrollPane og placere scrollpane'en på det panel du viser, istedet for
tabel-komponenten. Kunne se nogenlunde således ud:

JTable table = new JTable(columnNames, data);
JScrollPane scrollp = new JScrollPane(table);
panel.add(scrollp, BorderLayout.CENTER);

Kan desværre ikke komme med noget præcist forslag til auto-resize af
kolonnerne, da jeg selv af og til også selv har problemer her og endnu ikke
har fundet en entydig løsning. Typisk har jeg tvunget enkelte kolonner til
at have en bestemt minimum eller maximum størrelse, hvorefter resten
automatisk har udvidet sig så tabellen stadig fylder dens plads ud. Du kan
rette kolonnestørrelser således:

table.getColumnModel().getColumn(n).setMinWidth(size); // Eller
setMaxWidth(y)

Hvis du er heldig, løser JScrollPane'en dog autoresize problemet så du ikke
behøver at rode manuelt med størrelserne (bliver som regel noget snask).

Mvh
Thomas Thorndahl



Simon [2700] (15-04-2005)
Kommentar
Fra : Simon [2700]


Dato : 15-04-05 06:11

> Hvis du er heldig, løser JScrollPane'en dog autoresize problemet så du
> ikke behøver at rode manuelt med størrelserne (bliver som regel noget
> snask).

tak for svarene afprøver dem senere idag !
mvh.SImon



Søg
Reklame
Statistik
Spørgsmål : 177438
Tips : 31962
Nyheder : 719565
Indlæg : 6408041
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste