текст в текстовом поле - PullRequest
       33

текст в текстовом поле

1 голос
/ 03 декабря 2009

Я довольно новичок в GWT Framework, и я использую его для создания пользовательского интерфейса моего веб-сайта, Я хотел бы, чтобы текстовое поле содержало текст, который, как только пользователь нажимает на него в первый раз, текст исчезает. а в остальное время он ведет себя как обычное текстовое поле

есть идеи как это сделать?

Ответы [ 3 ]

2 голосов
/ 03 декабря 2009

При создании текстового поля установите текст по умолчанию и добавьте прослушиватель клавиатуры:

TextBox box = new TextBox();
box.setText("Default Text");
box.addKeyboardListener(this);
defaultValue = true; // this is a global boolean value

Затем пусть ваш класс реализует KeyboardListener, оставляя их все пустыми, кроме:

public void onKeyPress(Widget arg0, char arg1, int arg2) 
{
    if(defaultValue)
    {
        box.setText = "";
        defaultValue = false;
    }
}
1 голос
/ 03 декабря 2009

Вы можете добавить clickHandler в поле. Внутри обработчика вы делаете что-то простое:

if(text==DEFAULT_TEXT)
{
text==""
}

Если кто-то собирается написать то же самое DEFAULT_TEXT, оно снова будет уничтожено. Если вы хотите избежать этого, добавьте логическую переменную в проверочное выражение.

0 голосов
/ 03 декабря 2009

Не могу сказать это для GWT, но общий подход может быть:

  1. используйте переменную для пометки, является ли текстовое поле «инициализированным» или «используемым»
  2. добавить слушателя к текстовому виджету (я бы использовал KeyboardListener и заставлял текст исчезать, когда пользователь начинает вводить текст, а не при первом - возможно, случайном - щелчке мыши)
  3. Когда слушатель получает первое событие для виджета (flag = 'initialized'), снимите флажок и замените текст внутри текстового поля фактическим нажатием клавиши.

(для прослушивателя щелчков: при первом щелчке на виджете снимите флажок и текстовое поле.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...