Problemas com o Render do cabeçalho da Jtable

Boa tarde.

Estou um pequeno problema.

Criei um render para o header da Jtable, para que eu consegui-se girar o label do header, deixando a Jtable igual a uma matrix.

Até então tudo correto, mas quando redimensiono a tela as colunas começam a diminuir de tamanho, diminuindo o tamanho do JLabel que está dentro do render.

Que as colunas diminuam de tamanho é normal, mas o label começar a ser cortado não.

Vejam o código do Render referente ao Header:

    private class HeaderRender
            extends
                JPanel
                implements TableCellRenderer
    {
        private JLabel label = new JLabel()
        {
            /**
             * void
             *
             * @param g Graphics
             * @return @Override
             * @ignored paintComponent
             */
            @Override
            protected void paintComponent( Graphics g )
            {
                Graphics2D g2d = (Graphics2D) g;                

                setSize( getParent().getSize() );
                g2d.rotate( Math.toRadians( 270 ) );
                g2d.translate( -getHeight() + 5, (getParent().getWidth() / 2) - (getHeight() / 2) );
               
                super.paintComponent( g );
            }
        };

        /**
         * HeaderRender
         *
         */
        public HeaderRender()
        {
            setPreferredSize( new Dimension( 150, 150 ) );
            setBorder( BorderFactory.createMatteBorder( 1, 1, 1, 1, Color.white ) );
            setLhttp://img15.imageshack.us/img15/1756/normalti.pngayout( new GridBagLayout() );

            label.setOpaque( true );
            label.setBackground( Color.blue );

            add( label,
                 new GridBagConstraints( 0, 0, 1, 1, 10.0, 10.0,
                                         GridBagConstraints.CENTER,
                                         GridBagConstraints.BOTH,
                                         new Insets( 0, 0, 0, 0 ), 0, 0 ) );
        }

        /**
         * 
         * @param table
         * @param value
         * @param isSelected
         * @param hasFocus
         * @param row
         * @param column
         * @return
         */
        @Override
        public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column )
        {
            label.setText( value.toString() );

            return this;
        }
    }

Tela normal:

Tela redimensionada:

Percebam que o cabeçalho está cortando o label…

Setei o Background do label de azul para fical mais visivel o que está acontecendo.

Att.