web-dev-qa-db-fra.com

Définir l'alignement droit dans la colonne JTable

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?

19
Arivu2020
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
table.getColumnModel().getColumn(4).setCellRenderer(rightRenderer);
31
sathya

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;
    }
};
8
Emil

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;
    …
}

left-aligned

En revanche, Integer.class est "rendu par une étiquette alignée droite".

switch (colIndex) {
    case 0: return Integer.class;
    …
}

right-aligned

Ce sont des exemples d'utilisation littéraux de classe comme jetons de type runtime , discuté ici dans le contexte de JTable.

5
trashgod

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

2
YoK