Ответ 1
Посмотрите на Darryl Вертикальный ящик ячейки заголовка таблицы.
Есть ли способ поворота на 90º заголовков столбцов JTable?
Посмотрите на Darryl Вертикальный ящик ячейки заголовка таблицы.
Это немного сложно. Сначала вам нужно включить JTable-заголовки в JLabels. Это просто как
((JLabel)table.getTableHeader()
Затем вращать JLabels. Он уже ответил fooobar.com/questions/513943/...
Может быть, это помогает, хотя я не проверял это:
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);
}
}
Это не мое, взято отсюда