2

我正在尝试制作注册表单,我想做的是在文本字段中显示默认文本,简单的意思如下图所示。我想要做的是,直到用户将数据输入到一个字段中,例如,有一个名为“名字”的字段。当用户选择“名字”字段时,文本消失并且用户可以输入他们的名字。如果用户没有键入任何内容,则文本应再次显示在文本字段中。

我尝试使用焦点侦听器,但我无法真正让它工作,因为使用我的方法即使用户在字段中键入数据并转到下一个字段,前一个字段的文本也会被删除并且默认文本会被删除显示。

这是我所做的:-

txtFirstName.addFocusListener(new FocusListener() {
    public void focusGained(FocusEvent e) {
        txtFirstName.setText("");
    }

    public void focusLost(FocusEvent e) {
        txtFirstName.setText("First Name");
    }
});

我想做什么

感谢您的时间。

4

2 回答 2

3

您必须为您的focusLostfocusGainedListener 实现一个 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
    }

或类似的东西;)

于 2013-08-07T13:08:34.260 回答
3

我想要做的是,直到用户将数据输入到一个字段中,例如,有一个名为“名字”的字段。当用户选择“名字”字段时,文本消失并且用户可以输入他们的名字。如果用户没有键入任何内容,则文本应再次显示在文本字段中。

我认为您正在寻找提示,请参阅

于 2013-08-07T13:24:26.267 回答