Salve raga , volevo chiedervi:
come faccio a posizionare il testo al centro della cella, ovviamente ciò deve essere applicato a tutte le celle! grazie
Salve raga , volevo chiedervi:
come faccio a posizionare il testo al centro della cella, ovviamente ciò deve essere applicato a tutte le celle! grazie
Devi agire sui "renderer". Innanzitutto quale table model usi? (serve solo per sapere quale Class viene restituito per le colonne).Originariamente inviato da fcorsa
come faccio a posizionare il testo al centro della cella, ovviamente ciò deve essere applicato a tutte le celle!
Una soluzione semplice: istanzi un DefaultTableCellRenderer e siccome è-un JLabel, usi setHorizontalAlignment() per impostargli l'allineamento.
Il renderer lo puoi poi assegnare a colonne specifiche della tabella oppure in modo globale per la tabella associandolo ad una classe specifica con setDefaultRenderer() (la classe più generica è Object.class, se il table model ritorna questo).
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Eccol il mio table model (è una tabella a 1 colonna):
codice:class MyTableModel2 extends AbstractTableModel { private int numeroDiColonne = 1; private ArrayList lista3=null; private int count3; public MyTableModel2(ArrayList lista2,int count) { //lista delle specifiche mancanti(ArrayList di stringhe) lista3=lista2; //numero di specifiche mancanti contenuto nella lista count3=count; } //metodo che crea il nome della colonna public String getColumnName(int c){ String nome = "Artwork Mancanti"; return nome; } //metodo che ritorna il numero di colonne che è = 1 public int getColumnCount() { return numeroDiColonne; } //metodo che ritorna il numero di righe della colonna che è uguale al numero di specifiche mancanti nella lista public int getRowCount() { return count3; } //metodo che aggiunge gli elementi alle celle(cioe le stringhe) //indice colonna non viene inserito perche e a una sola colonna public Object getValueAt(int indiceRiga, int indiceColonna) { String riga =""+lista3.get(indiceRiga); return riga; } }
Va bene, se non fai l'override di getColumnClass(), la implementazione in AbstractTableModel ritorna sempre Object.class.Originariamente inviato da fcorsa
Eccol il mio table model
Quindi può certamente valere quanto ho detto prima.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ma a setHorizontalAlignment() che intero metto?
scusa dovevo mettere 0.
ok , funziona, ma per mettere anche l'intestazione della colonna al centro?
Non mettere un literal numerico .... la documentazione di setHorizontalAlignment parla chiaramente!! "alignment - One of the following constants defined in SwingConstants: LEFT, CENTER [....]"Originariamente inviato da fcorsa
scusa dovevo mettere 0.
Ma il testo dell'header è già centrato mi sembra ....Originariamente inviato da fcorsa
ma per mettere anche l'intestazione della colonna al centro?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Mi sembra strano ....Originariamente inviato da fcorsa
a me no! è affiancato a sinistra!
E allora?? SwingConstants.CENTER è una costante di tipo int .... quale è il problema??Originariamente inviato da fcorsa
setHorizontalAllignement() vuole l'intero!
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet