Rotando un JTextField verticalmente

He visto una serie de preguntas que preguntan cómo rotar un JLabel o una imagen en un ángulo arbitrario. Todo lo que necesito hacer es rotar mi campo de texto 90 grados, pero no he encontrado una manera más fácil específicamente para ese ángulo. Pensé que había copiado las respuestas correctamente, pero mi campo de texto no está girando.

Aquí hay un SSCCE de lo que estoy haciendo:

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

    });
}

}

¿Qué me falta en las respuestas sobre cómo rotar los componentes?

Respuestas a la pregunta(2)

Su respuesta a la pregunta