2

わかりました、私の質問は簡単です。EventPreviewforのようなものSelectionEventTreeクラスに追加できますか?

ツリー要素間の切り替えは、常に可能であるとは限らない画面の他の部分を初期化するため、必要です(たとえば、確認を求めます)...

structTree.addSelectionHandler(new SelectionHandler<TreeItem>() {
    @Override
    public void onSelection(SelectionEvent<TreeItem> event) {
        // Do something, or maybe cancel selection
    }
});

編集

それを追加するEventPreviewClickEvent、おそらくうまくいくでしょうが、もっとクリーンな方法があるかどうか疑問に思っていました...

4

1 に答える 1

1

EventPreviewは非推奨です。代わりにNativePreviewHandlerandを使用してください。NativePreviewEvent

イベント プレビューのアイデアは、ユーザー インタラクション DOM イベント (ブラウザーと対話するときにユーザーが行う物理的なアクションを記述するイベント) のためのものです。これが、 をキャンセルすることが機能する理由ClickEventです。

対照的に、SelectionEventは論理イベントです。これは GWT コード内から発生し、ウィジェットがユーザーの「物理」イベントから見た意図を記述します。

ただし、 s の発生を防ぐ方法はまだありますがSelectionEvent、GWT で一貫して使用されてTreeいません。ウィジェットでは使用されないため、今回は役に立ちません。a のような他のウィジェットは、実際の選択が実際に行われる前TabLayoutPanelに起動するため、選択が実際に行われる前にそれを実行する機会が与えられます。StackLayoutPanelBeforeSelectionEventSelectionEventcancel()

于 2012-12-25T14:55:45.293 に答える