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