2010-06-27 22 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() 

फिर JLabels बारी बारी है। यह पहले ही उत्तर दिया गया है here on StackOverflow

संबंधित मुद्दे