2010-06-27 1 views

ответ

0

Может быть, это поможет, я не проверял, хотя

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); 
    } 
} 
} 

Это не мой собственный, взятый из here

+0

хорошо, что касается ячеек, а не заголовков. – Xorty

3

Это немного сложнее. Сначала вам нужно включить JTable-заголовки в JLabels. Это так же, как

((JLabel)table.getTableHeader() 

Затем вращать компоненты JLabel. Это уже ответили here on StackOverflow

Смежные вопросы