2010-06-27 28 views

Respuesta

0

Tal vez esto ayude, yo no lo he probado, aunque

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

Ésta no es la mía, tomada de here

+0

bien que es para las células no headers. – Xorty

3

Esto es poco complicado. Al principio, debe lanzar encabezados JTable a JLabels. Es como

((JLabel)table.getTableHeader() 

Luego gire JLabels. Ya ha contestado here on StackOverflow