Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [java] font per JTable

  1. #1

    [java] font per JTable

    salve

    ho settato la font per la JTable , ma le intestazioni delle colonne rimangono sempre uguali, c'è un metodo per farlo?

    ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java] font per JTable

    Originariamente inviato da fcorsa
    ho settato la font per la JTable , ma le intestazioni delle colonne rimangono sempre uguali, c'è un metodo per farlo?
    Innanzitutto se cambi il font a livello di dimensione, dovresti anche settare appropriatamente l'altezza delle righe. Non è automatico dal font. Per dirlo in altro modo: l'altezza delle righe non dipende dal font impostato.

    Ma a parte questo l'header è un'altra cosa, è gestito da un JTableHeader. E ti basta appunto settare il font su questo piuttosto che su JTable.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ciao grazie andbin
    sapevo già che bisogna settare anche l'altezza della righa.
    per quando riguarda l'header non sapevo che il font settato con setFont() non lo comprendeva.

    grazie di tutto

  4. #4
    andbin

    scusa ancora, ma come faccio ad aumentare l'altezza dell'header, in JTableHeader non c'è nessun metodo che lo fa?
    poi per settarci un colore di sfondo della cella dell'header che metodo uso?

    background mi colora il bordo della cella e foreground il testo.

    ciao grazie

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fcorsa
    ma come faccio ad aumentare l'altezza dell'header, in JTableHeader non c'è nessun metodo che lo fa?
    Innanzitutto per l'altezza del header viene presa in considerazione la dimensione del font (a differenza di ciò che avviene per le righe di dati).

    E comunque sì, è vero che non c'è un metodo apposito per l'altezza. Ma è anche vero che l'altezza del header si basa sul "preferred height" (che sarebbe la parte altezza del "preferred size", get/setPreferredSize). La larghezza, anche se ne imposti una, credo sia ininfluente.

    Originariamente inviato da fcorsa
    poi per settarci un colore di sfondo della cella dell'header che metodo uso?
    Anche per gli header, come per le celle dei dati, si basa sui "renderer". Solo che i renderer degli header non sono ovviamente gli stessi di quelli per i dati!!

    Ma comunque: o implementi un "tuo" renderer da zero, o ne fai uno che fa da "wrapper" di quello originale (cambiando solo il background del Component fornito dal renderer originale) oppure prendi il renderer originale, fai un cast a JLabel (in linea di massima dovrebbe essere una label) e cambi lo sfondo.

    Vedi comunque i metodi di TableColumn. E leggi bene la documentazione perché ci sono delle particolarità.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    ok, però quando stampo la tabella , mi tagli l'header nel parte inferiore. come se la prima righa della tabella e sovrapposta all'header.

    ecco il codice

    codice:
    JTableHeader th =new JTableHeader();
    th= table.getTableHeader();
    Font font2 = new Font("Arial",Font.PLAIN,20);
    th.setFont(font2);
    Dimension din = new Dimension();
    din.setSize(0, 30);
    th.setPreferredSize(din);
    th.setBackground(Color.RED);
    table.setTableHeader(th);
    Font font = new Font("Arial",Font.PLAIN,25);
    table.setRowHeight(25);
    table.setFont(font);
    table.print(JTable.PrintMode.FIT_WIDTH,new MessageFormat("Lista Giacenze"),
    	                                                 new MessageFormat("Page - {0}"));

  7. #7
    andbin

    già che ci siamo è possibile impostare al metodo print di JTable l'orientamento della pagina in verticale?

    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.