Есть ли способ поворота на 90º заголовков столбцов JTable?
Вертикальные заголовки в JTable?
Ответ 1
Посмотрите на Darryl Вертикальный ящик ячейки заголовка таблицы.
Ответ 2
Это немного сложно. Сначала вам нужно включить JTable-заголовки в JLabels. Это просто как
((JLabel)table.getTableHeader()
Затем вращать JLabels. Он уже ответил fooobar.com/questions/513943/...
Ответ 3
Может быть, это помогает, хотя я не проверял это:
class RotatedTableCellRenderer extends JLabel implements TableCellRenderer {
protected int m_degreesRotation = -90;
public RotatedTableCellRenderer(int degrees) {
m_degreesRotation = degrees;
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
try {
this.setText(value.toString());
} catch(NullPointerException ne) {
this.setText("Nullvalue");
}
return this;
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.setClip(0,0,500,500);
g2.setColor(new Color(60,179,113));
g2.setFont(new Font("Arial",Font.BOLD,12));
AffineTransform at = new AffineTransform();
at.setToTranslation(this.getWidth(), this.getHeight());
g2.transform(at);
double radianAngle = ( ((double)m_degreesRotation) / ((double)180) ) * Math.PI;
at.setToRotation(radianAngle);
g2.transform(at);
g2.drawString(this.getText(), 0.0f, 0.0f);
}
}
Это не мое, взято отсюда