Отображать только правую часть длинного текста в JTable

есть ли возможность отображать только правую часть длинного текста в JTable? например, у меня есть эта длинная строка:

asldjklasjdklasjdklasjdlkasjkldjaslkjdklasjdklasjdlkajskldjaslk

в моей таблице отображается:

asldjklasjdklas...

но я хочу

...jdlkajskldjaslk

просто выровнять столбец по правому краю не получилось :(


person reox    schedule 09.02.2011    source источник
comment
Я предоставляю код для вашего решения и показываю вам, как добавить LeftDotRenderer в вашу таблицу, а вы даже не проголосовали за меня и не приняли мой ответ. Что ж, думаю, я больше не буду тебе помогать.   -  person camickr    schedule 10.02.2011


Ответы (2)


Вам необходимо создать собственный TableCellRenderer. реализация:

class MyTableCellRenderer implements TableCellRenderer {
    ...
}

и замените им средство визуализации JTable по умолчанию:

jTable.setDefaultRenderer(new MyTableCellRenderer());

или, если вы хотите установить его только для какого-то столбца, скажем, первого:

jTable.getColumnModel().getColumn(1).setCellRenderer(new MyTableCellRenderer())

Left Dot Renderer, ранее упомянутый @camickr, является Реализация TableCellRenderer.

person adrianboimvaser    schedule 09.02.2011
comment
Итак, я сделал это: у меня есть собственный JTable, и я добавил это в конструктор: this.setDefaultRenderer(String.class, new LeftDotRenderer()); но это не сработало :( leftdotrenderer даже не вызывается ни разу, когда я делаю в нем что-то sysout, я никогда не вижу никакого вывода - person reox; 10.02.2011
comment
ах, хорошо... @adrianboimvaser работает, моя проблема заключалась в том, что мне пришлось использовать тип моей собственной реализации jtable также в рендерере... - person reox; 10.02.2011
comment
@реокс. все, что сделал этот постер, - это ссылка на код, который я разместил в своем ответе. - person camickr; 10.02.2011
comment
Я написал больше половины своего ответа раньше твоего. Я отдал тебе должное. Кроме того, мой ответ по-прежнему полезен в случае, если веб-страница LeftDotRenderer перестанет существовать. - person adrianboimvaser; 10.02.2011

Вы можете попробовать обработчик левой точки.

person camickr    schedule 09.02.2011