2

EventQueue を実装し、AWTEvents が送信されたときに通知を受け取ります。FocusEvent のインスタンスが dispatchEvent メソッドに送信されるまで待ちます。

FocusEvent 自体には、コンポーネントのフォーカスが得られたか失われたかを確認するメソッドがありません。メソッドparamStringは、情報が配置されている文字列を返しますが、文字列をハッキングまたは解析したくありません。contains 呼び出しで答えを得ることができますが、戻り文字列は定数ではないため、将来変更される可能性があります。

FocusEvent の paramString メソッドは次のようになります。

 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();

この問題の別の解決策を知っていますか。

4

1 に答える 1

2

「evt.getID()」の何が問題になっていますか? 戻るFOCUS_LOSTFOCUS_GAINED

于 2008-12-02T15:58:06.077 に答える