Этого можно достичь, используя слушатель фокуса для обновления содержимого текстового поля.
Заставить класс реализовать интерфейс слушателя фокуса:
class YourClass implements FocusListener
Добавить метод, чтобы поймать при достижении фокуса, который закрывает поле:
public void focusGained(FocusEvent e) {
if(JTextField1.getText().equals("Username")) {
JTextField1.setText("");
}
}
Добавить метод для обнаружения потери фокуса, чтобы снова отобразить запись по умолчанию, если поле было пустым:
public void focusLost(FocusEvent e) {
if(JTextField1.getText().equals("")) {
JTextField1.setText("Username");
// you should prevent the form from being processed in this state
// as it will literally contain "Username" for the username
}
}
Зарегистрируйте свой класс в качестве слушателя фокуса для текстового поля:
textField.addFocusListener(this);
Узнайте больше на Как написать слушателя фокуса в Учебниках Java.