Trovare l'allineamento di una colonna di jTable

di il
1 risposte

Trovare l'allineamento di una colonna di jTable

Ciao a tutti,
Avrei bisogno, data una jTable già popolata di trovare quali delle sue colonne sono con state definite allineamento a destra, Per quanto abbia cercato in giro trovo solo come SETTARE l'allineamento, ma non si parla mai di come conoscere un allineamento già settato.

1 Risposte

  • Re: Trovare l'allineamento di una colonna di jTable

    frafel ha scritto:


    Avrei bisogno, data una jTable già popolata di trovare quali delle sue colonne sono con state definite allineamento a destra, Per quanto abbia cercato in giro trovo solo come SETTARE l'allineamento, ma non si parla mai di come conoscere un allineamento già settato.
    A dire il vero, come viene presentato graficamente il dato all'interno della cella, dipende principalmente dal table cell renderer. Il renderer viene scelto in base al Class esposto dal table model per quella colonna (se il renderer non viene "forzato" esplicitamente su una certa colonna).
    Ci sono una serie di renderer predefiniti, se ad esempio il Class è Object.class viene scelto un renderer che stampa il risultato del toString() allineato a sinistra. Se il Class è Number.class viene stampato il numero allineato a destra. Se è Boolean.class viene mostrato un checkbox centrato nella cella.

    Quindi no, NON esiste un modo "generale" per conoscere l'allineamento. Dipende dalle caratteristiche di un renderer predefinito o personalizzato che sia.
    Diciamo, comunque, che la maggior parte dei renderer predefiniti tipicamente "stampano" nella cella un banale JLabel e .... JLabel ha il concetto di allineamento (difatti per il NumberRenderer predefinito in JTable viene fatto un setHorizontalAlignment(JLabel.RIGHT); ).
    Mentre il BooleanRenderer predefinito è invece un JCheckBox, che ha anch'esso il concetto di allineamento ma ovviamente NON è come tipo un JLabel.
Devi accedere o registrarti per scrivere nel forum
1 risposte