我正在尝试制作注册表单,我想要做的是在文本字段中显示默认文本,简单的含义如下图所示。 我想要做的是,在用户输入数据到一个字段之前,有一个名为“First Name”的字段。当用户选择字段“名字”时,文本消失,用户可以键入其名字。 如果用户没有输入任何内容,则文本应再次显示在文本字段中。
我尝试使用焦点监听器,但我无法真正开始工作,因为使用我的方法即使用户将数据输入到字段并转到下一个字段,前一个字段的文本也会被删除,并且显示默认文本。
以下是我所做的: -
txtFirstName.addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
txtFirstName.setText("");
}
public void focusLost(FocusEvent e) {
txtFirstName.setText("First Name");
}
});
感谢您的时间。
答案 0 :(得分:3)
我要做的是,直到用户将数据输入到字段中 例如,有一个名为“名字”的字段。当用户选择时 字段“名字”文本消失,用户可以键入它们 名字。如果用户没有输入任何内容,则应显示文本 再次在文本字段中。
我认为您正在寻找提示,请参阅
Text Prompt来自@camickr
另一个想法如何创建prompt for JTextField
答案 1 :(得分:2)
您必须为focusLost
和focusGained
侦听器实施IF子句。所以做这样的事情:
public void focusLost(FocusEvent e) {
if(txtFirstName.getText().trim().equals(""))
txtFirstName.setText("First Name");
else
//do nothing
}
对于focusGained()
:
public void focusGained(FocusEvent e) {
if(txtFirstName.getText().trim().equals("First name"))
txtFirstName.setText("");
else
//do nothing
}
或类似的东西;)