Je crée une demande d'installation de facturation. Je veux que la colonne de quantité soit affichée avec un alignement approprié. Comment définir le bon alignement pour une colonne JTable?
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
table.getColumnModel().getColumn(4).setCellRenderer(rightRenderer);
Essaye ça:
JTable tbl = new JTable(3,3) {
DefaultTableCellRenderer renderRight = new DefaultTableCellRenderer();
{ // initializer block
renderRight.setHorizontalAlignment(SwingConstants.RIGHT);
}
@Override
public TableCellRenderer getCellRenderer (int arg0, int arg1) {
return renderRight;
}
};
Voir -Concept: Editors and Renderers , noter "Number
- rendu par une étiquette alignée à droite". Ayez juste votre TableModel
renvoie la classe correcte. Comme exemple concret, notez que Integer
est un Number
, tout en examinant la mise en œuvre de getColumnClass()
dans cet article exemple . Dans ce domaine exemple , le Zeroth colIndex
renvoie Object.class
, qui est "rendu par une étiquette qui affiche la valeur de chaîne de l'objet". Par défaut, l'étiquette est alignée à gauche.
switch (colIndex) {
case 0: return Object.class;
…
}
En revanche, Integer.class
est "rendu par une étiquette alignée droite".
switch (colIndex) {
case 0: return Integer.class;
…
}
Ce sont des exemples d'utilisation littéraux de classe comme jetons de type runtime , discuté ici dans le contexte de JTable
.
Vous devrez obtenir defaultTableCellrenderer pour les cellules de la table et appeler le séthorizontalalInlalIntalment (alignement).
L'exemple peut être trouvé sur les liens:
http://www.techrepublic.com/article/how-to-justify-data-in-a-jtable-cell/5032692/
http://www.coderanch.com/t/337549/gui/java/align-Data-Columns-jtable