Java - espace réservé sur textfield

Je suis en train de créer une interface graphique avec Swing. Mon problème est que j'ai un textfield, mais je veux qu'il ait un "espace réservé" (comme en html). J'ai lu ici et là que cela peut être fait en remplaçant la peinture() de l'objet textfield.

Depuis mon code est généré, j'ai découvert que j'ai besoin d'utiliser la "Création Personnalisée de Code" pour remplacer le code qui a été généré.

Voici ce que j'ai mis dans la "Création Personnalisée champ" Code

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

Cela génère la sortie suivante

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

Pour l'instant je vois le textField mais il n'y a rien en elle, peut-être que j'ai besoin d'ajouter une fonction sur un événement, mais je ne suis pas sûr.

Je vous serais reconnaissant si quelqu'un pouvait donner un coup de main.

EDIT : Voici une démo de ce que je veux faire : http://davidwalsh.name/demo/html5-placeholder.php

Voir aussi les Réponses sur cette double Question.

OriginalL'auteur Jordashiro | 2012-10-23