Avatar billede slick Nybegynder
11. maj 2001 - 10:39 Der er 11 kommentarer og
1 løsning

jTable tabel

Er der nogen som har kendskab til hvordan man ændre font størrelsen i en jtable kollonne overskrift.
Avatar billede delbing Nybegynder
11. maj 2001 - 11:37 #1
DefaultTableCellRenderer lader dig ikke ændre fontstørrelsen, så du bliver nok nød til at:

Lav en klasse der implementerer TableCellRenderer interfacet (blot en enkelt metode som skal returnere en Component der kan tegne tingene i den størrelse du foretrækker, selvom du nok gerne vil have et par mere til at sætte tekst osv.)

Den giver du så til den kolonne vha.
JTableColumn.setHeaderRenderer(TableCellRenderer tcr)

Hvis du skal gøre det for alle kolloner kan du sætte den som default i JTablens JTableHeader:
JTableHeader.setDefaultRenderer(TableCellRenderer tcr)

Håber det hjalp, ellers spørg
Avatar billede slick Nybegynder
11. maj 2001 - 11:52 #2
Tak forhenvendelsen, MEN jeg fatter ikke en ski! Jeg er ikke den store javakonge så kan du ikke lige uddybe det lidt nærmere hvis det er muligt!?
Avatar billede delbing Nybegynder
11. maj 2001 - 12:04 #3
DefaultCellRenderer lader dig ændre font så det er lidt nemmere,  my mistake...

ok, du har dine
JTableColumn column
Font myFont

Så siger du:

TableCellRenderer myRenderer = new DefaultCellRenderer();
myRenderer.setFont(myFont);
column.setHeaderRenderer(myRenderer);

og du skulle være flyvende.
Avatar billede slick Nybegynder
11. maj 2001 - 12:36 #4
Jeg flyver ikke så godt...endnu!
Jeg synes du springer lidt rundt i klasserne:
\"TableCellRenderer myRenderer = new DefaultCellRenderer(); \"
\"TableCellRenderer\" er jo ikke det samme som \"DefaultCellRenderer\"

og hvor skal disse klasser iøvrigt importeres fra?


få os venligst til at flyve i en fart :)
Avatar billede delbing Nybegynder
11. maj 2001 - 13:00 #5
TableCellRenderer er et interface som DefaultTableCellRenderer implementerer, så det er vane at skrive det sådan. Det er faktisk også forkert i ovenstående eksempel, da jeg senere benytter mig af metoder fra DefaultTableCellRenderer som TableCellRenderer ikke har, men sådan går det når man sidder her og skriver i en lille tekstboks. Anyways, DefaultTableCellRenderer begge steder, da vi bruger setFont i næste linie.

Mht. hvor de importeres fra - så find klassen i API\'en, det står lige over klassens navn. Men det lyder som om du ikke har en API, eller ikke bruger den. API\'en er suverænt det vigtigste værktøj en programmør har. Hvis Java var en religion, så er dens API biblen.
Så begynd at bruge den.

http://www.java.sun.com/j2se/1.3/docs/api/index.html for bare at browse den, http://www.java.sun.com/j2se/1.3/docs.html for at downloade. Download den hvis ud ikke har den. Nu.
Avatar billede slick Nybegynder
11. maj 2001 - 13:14 #6
Den kompilerer fint uden fejl nu, men den ændrer ingenting på tabellen!?
Har du flere kort oppe i ærmet du vil ud med?
Tak for API\'en
Det ser sådan her ud:
\"      TableColumn column = new TableColumn();
      Font myFont = new Font(\"times new roman\", 8, 8 );
      DefaultTableCellRenderer  myRenderer = new  DefaultTableCellRenderer ();
      myRenderer.setFont(myFont);
      column.setHeaderRenderer(myRenderer);\"
Avatar billede delbing Nybegynder
11. maj 2001 - 14:59 #7
Har du gentegnet?
Er tabellen sat ind det rigtige sted?
Er du sikker på at det ikke bare er fordi du ikke kan se forskellen, hvad sker der hvis du prøver med størrelse 24 fx?
Avatar billede slick Nybegynder
11. maj 2001 - 15:04 #8
Ja tabellen er sat ind det rigtige sted. Vi har også prøvet med font størrelse på 1,1 og stadig ingen resultat. Vi er lidt på bar bund desværre...
Avatar billede delbing Nybegynder
11. maj 2001 - 15:25 #9
prøv at se om validate(), revalidate() eller invalidate() kaldt på renderen giver nogen effekt.
Avatar billede slick Nybegynder
11. maj 2001 - 15:36 #10
Man skal ikke kæde det sammen med en bestemt tabel? Det er en overordnet metode som verører alle tabelle i klassen ik?
Avatar billede delbing Nybegynder
11. maj 2001 - 16:07 #11
validate metoderne? De kaldes op gennem validatetræet indtil de rammer en komponent som er sat til validateRoot
Men TableCellRenderers gør det vist på en lidt anden måde da de ellers ville tage et stort performancehit

Men det lyder altså mærkeligt at det ikke virker. 
Avatar billede slick Nybegynder
11. maj 2001 - 16:13 #12
vi stopper for idag men mange tak for hjælpen gamle...god weekend
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester