Вертикальные заголовки в JTable? - PullRequest
11 голосов
/ 28 июня 2010

Можно ли повернуть заголовки столбцов JTable на 90º?

Ответы [ 3 ]

8 голосов
/ 28 июня 2010
3 голосов
/ 28 июня 2010

Это немного сложно.Сначала вам нужно привести заголовки JTable к JLabels.Это как

 ((JLabel)table.getTableHeader()

Тогда вращать JLabels.Он уже ответил здесь, на StackOverflow

0 голосов
/ 28 июня 2010

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

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

Это не мое, взято из здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...