Java - espaço reservado no campo de texto
Estou tentando criar uma GUI com o Swing. Meu problema é que eu tenho um campo de texto, mas eu quero que ele tenha um "espaço reservado" (como em html). Eu li aqui e ali que isso pode ser feito substituindo a tinta () do campo de texto.
Como meu código é gerado, descobri que preciso usar o "Código de criação customizado" para substituir o código que foi gerado.
Aqui está o que eu coloquei no campo "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);
}
}
Isso gera a seguinte saída
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 enquanto eu vejo o textField mas não há nada nele, talvez eu precise adicionar alguma função em algum evento, mas não tenho certeza.
Eu ficaria grato se alguém pudesse dar uma mão.
EDIT: Aqui está uma demonstração do que eu quero fazer:http://davidwalsh.name/demo/html5-placeholder.php