Java - marcador de posición en el campo de texto

Estoy tratando de crear una GUI con Swing. Mi problema es que tengo un campo de texto, pero quiero que tenga un "marcador de posición" (como en html). Leí aquí y allá que puede hacerse anulando la pintura () del campo de texto.

Como se generó mi código, descubrí que necesito usar el "Código de creación personalizado" para anular el código generado.

Esto es lo que he puesto en el campo "Código de creación personalizado"

new javax.swing.JTextField()
{
    String test = super.getText();
    String hint = "Username";

    public void paint(Graphics g)
    {
        if ( test == null || test.length() < 1 ) {
            g.setColor( Color.red );
            g.drawString(hint, 0, 0);
        }

        g.setColor(Color.BLACK);
        super.paint(g);
    }
}

Esto genera la siguiente salida

javax.swing.JTextField username = new javax.swing.JTextField()
{
    String test = super.getText();
    String hint = "Username";

    public void paint(Graphics g)
    {
        if ( test == null || test.length() < 1 ) {
            g.setColor( Color.red );
            g.drawString(hint, 0, 0);
        }

        g.setColor(Color.BLACK);
        super.paint(g);
    }
};

Por ahora veo el campo de texto pero no hay nada en él, tal vez necesito agregar alguna función a algún evento, pero no estoy seguro.

Estaría agradecido si alguien pudiera echar una mano.

EDITAR: Aquí está una demostración de lo que quiero hacer:http://davidwalsh.name/demo/html5-placeholder.php

Respuestas a la pregunta(3)

Su respuesta a la pregunta