У меня есть следующий TableCellRenderer
(НЕ DefaultTableCellRenderer
), который позволяет мне пропускать строки в ячейках JTable
:
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.table.TableCellRenderer;
public class MyCellRenderer extends JTextArea implements TableCellRenderer {
Color highlightBackground = (Color) UIManager.get("Table.selectionBackground");
public MyCellRenderer() {
setLineWrap(true);
setWrapStyleWord(true);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setText((String) value); //or something in value, like value.getNote()...
setSize(table.getColumnModel().getColumn(column).getWidth(), getPreferredSize().height);
if (table.getRowHeight(row) != getPreferredSize().height) {
table.setRowHeight(row, getPreferredSize().height);
}
if (table.isRowSelected(row)) {
this.setBackground(highlightBackground);
} else {
this.setBackground(Color.WHITE);
}
return this;
}
}
Я просто хотел бы изменить горизонтальное выравнивание этого средства визуализации. (Это означает, что в ячейках будет текст в центре или справа, сейчас он слева).
Вот как я использую этот TableCellRenderer:
Table.getColumnModel().getColumn(1).setCellRenderer(new MyCellRenderer());
setSize
,JTable
сделает это сам. Изменить выравнивание на что? - person MadProgrammer   schedule 22.01.2016