Я собираюсь сделать вывод.
Для этой specifiec проблемы, мы можем разделить его на две части:
- выделить ячейку
- agjust его выравнивании
Чтобы выделить ячейку, мой первоначально путь и путь alex2410 должен будут полезны.
JTable table = new JTable(...)
{
public Component prepareRenderer(
TableCellRenderer renderer, int row, int column)
{
Component c = super.prepareRenderer(renderer, row, column);
// add custom rendering here
return c;
}
};
другой
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(){
@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(arg0, arg1, arg2, arg3, arg4, arg5);
// add custom rendering here
return c;
}
};
t.getColumnModel().getColumn(COLUMN).setCellRenderer(renderer);
И для выравнивания, единственный метод, который я нашел полезным является:
((DefaultTableCellRenderer)c).setHorizontalAlignment(SwingConstants.center);
В предложении mKorbel, вы можете кастовал Component
с к JLabel
, но мне не удалось к тому.
Можно ли применить подход к отдельным ячейкам, а не ко всему столбцу или строке? – bijiDango