JTextField searchText;
...
In constructor:
searchText = new JTextField("Search");
searchText.setForeground(Color.GRAY);
searchText.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
if (searchText.getText().equals("Search")) {
searchText.setText("");
searchText.setForeground(Color.BLACK);
}
}
@Override
public void focusLost(FocusEvent e) {
if (searchText.getText().isEmpty()) {
searchText.setForeground(Color.GRAY);
searchText.setText("Search");
}
}
});