2013-08-07 1 views
2

등록 양식을 만들려고하고 있으며 텍스트 필드에 기본 텍스트를 표시합니다. 이는 아래 이미지와 같은 간단한 의미입니다. 내가하려는 것은 사용자가 필드에 데이터를 입력 할 때까지 "이름"이라는 필드가 있다는 것입니다. 사용자가 "First Name"필드를 선택하면 텍스트가 사라지고 사용자는 First Name을 입력 할 수 있습니다. 사용자가 아무 것도 입력하지 않으면 텍스트가 텍스트 필드에 다시 표시됩니다.사용자가 데이터를 입력하거나 텍스트를 지울 때 TextField의 기본 텍스트 표시/사라 짐

포커스 수신기를 사용해 보았지만 사용자가 필드에 데이터를 입력하고 다음 필드로 이동하더라도 이전 필드의 텍스트가 삭제되고 기본 텍스트가 표시됩니다. 여기

내가 무엇을했는지 있습니다 : -

What i am trying to do

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

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

이 시간 내 주셔서 감사합니다.

답변

3

어떤 사용자가 데이터를 입력 할 때까지 내가있다 할 노력하고 있어요 에 대한 필드 "First Name"이라는 필드가 있습니다. 사용자가 을 선택하면 "이름"입력란이 사라지고 사용자는 이름을 입력 할 수 있습니다. 사용자가 아무 것도 입력하지 않으면 텍스트의 텍스트 필드에 이 다시 표시됩니다.

나는, 어떻게 prompt for JTextField

을 만들

  • Text Prompt @camickr

  • 다른 아이디어에 의해 볼이 프롬프트를 찾고 있다고 생각

1

focusLostfocusGained 수신기에 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 
    } 

또는 같은 것을)