Определить, был ли FocusEvent компонента потерян или приобретен - PullRequest
2 голосов
/ 02 декабря 2008

Я реализую EventQueue и получаю уведомление при отправке AWTEvents. Я жду, пока экземпляры FocusEvent будут отправлены в метод dispatchEvent.

FocusEvent сам по себе не имеет метода, чтобы спрашивать, достигнут фокус или потеря компонента. Метод paramString возвращает строку, в которую помещается информация, но я не хочу взламывать или анализировать строку. Ответ на запрос содержимого может дать мне ответ, но возвращаемая строка не является константой, поэтому она может измениться в будущем.

Метод paramString для FocusEvent имеет вид:

 switch(id) {
      case FOCUS_GAINED:
          typeStr = "FOCUS_GAINED";
          break;
      case FOCUS_LOST:
          typeStr = "FOCUS_LOST";
          break;
      default:
          typeStr = "unknown type";
    }
    return typeStr + (temporary ? ",temporary" : ",permanent") +
        ",opposite=" + getOppositeComponent();

Знаете ли вы другое решение этой проблемы.

1 Ответ

2 голосов
/ 02 декабря 2008

Что не так с "evt.getID ()"? Возвращает FOCUS_LOST или FOCUS_GAINED?

...