Obracanie JTextField w pionie

Widziałem wiele pytań, które pytają, jak obrócić JLabel lub obraz pod dowolnym kątem. Wszystko, co muszę zrobić, to obrócić pole tekstowe o 90 stopni, ale nie znalazłem łatwiejszego sposobu na ten kąt. Myślałem, że poprawnie skopiowałem odpowiedzi, ale moje pole tekstowe nie obraca się.

Oto SSCCE tego, co robię:

import java.awt.Graphics;
import java.awt.Graphics2D;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class VerticalRotationSSCCE {

private static class VerticalTextField extends JTextField {

    private static final long serialVersionUID = 1L;

    public VerticalTextField(String text) {
        super(text);
    }

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        int cx = getWidth() / 2;
        int cy = getHeight() / 2;
        g2.rotate(1/2 * Math.PI, cx, cy);
        super.paintComponent(g2);
    }

}

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            JFrame frame = new JFrame();
            frame.getContentPane().add(new VerticalTextField("Foo"));
            frame.pack();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }

    });
}

}

Czego brakuje mi w odpowiedziach na temat obracania komponentów?

questionAnswers(2)

yourAnswerToTheQuestion