Java - symbol zastępczy na polu tekstowym

Próbuję stworzyć GUI ze Swingiem. Mój problem polega na tym, że mam pole tekstowe, ale chcę, żeby miało „miejsce zastępcze” (jak w html). Czytam tu i tam, że można to zrobić, zastępując paint () pola tekstowego.

Odkąd wygenerowałem mój kod, dowiedziałem się, że muszę użyć „Niestandardowego kodu tworzenia”, aby zastąpić wygenerowany kod.

Oto, co umieściłem w polu „Custom Creation 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);
    }
}

Generuje to następujące dane wyjściowe

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

Na razie widzę textField, ale nic w nim nie ma, może muszę dodać jakąś funkcję do jakiegoś zdarzenia, ale nie jestem pewien.

Byłbym wdzięczny, gdyby ktoś mógł mi pomóc.

EDYCJA: Oto demo tego, co chcę zrobić:http://davidwalsh.name/demo/html5-placeholder.php

questionAnswers(3)

yourAnswerToTheQuestion