Установите правое выравнивание в столбце JTable - PullRequest
18 голосов
/ 12 августа 2010

Я создаю приложение для биллинга. Я хочу, чтобы столбец суммы отображался с выравниванием по правому краю. Как установить правильное выравнивание для столбца JTable?

Ответы [ 4 ]

30 голосов
/ 17 июля 2013
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
table.getColumnModel().getColumn(4).setCellRenderer(rightRenderer);
8 голосов
/ 12 августа 2010

Попробуйте это:

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;
    }
};
4 голосов
/ 12 августа 2010

См. Основные понятия: редакторы и средства визуализации с пометкой "Number - отображается с помощью выровненной по правому краю метки". Просто попросите ваш TableModel вернуть правильный класс. В качестве конкретного примера, обратите внимание, что Integer - это Number, при рассмотрении реализации getColumnClass() в этом примере . В этом связанном примере ноль colIndex возвращает Object.class, который «отображается меткой, отображающей строковое значение объекта». По умолчанию метка выравнивается по левому краю.

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

left-aligned

Напротив, Integer.class «отображается с помощью выровненной по правому краю метки».

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

right-aligned

Это примеры использования литералов класса в качестве токенов типа времени выполнения , обсуждаемых здесь в контексте JTable.

2 голосов
/ 12 августа 2010

Вам потребуется получить DefaultTableCellRenderer для ячеек таблицы и вызвать setHor HorizontalAlignment (выравнивание).

Пример можно найти по ссылкам:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...