5
TextField f = new TextField();
Button b = new Button("Save");
b.setClickShortcut(KeyCode.ENTER); // For quick saving from text field itself

TextArea longText = new TextArea(); // "Enter" is garbled here

fromテキストフィールドでのみ機能するショートカットを作成するのは大変ですか?

4

3 に答える 3

10

フォーカスリスナーとぼかしリスナーを使用して、ショートカットキーを削除および追加します。

    f.addFocusListener(new FocusListener() {
        @Override
        public void focus(FocusEvent event) {
            b.setClickShortcut(KeyCode.ENTER);
        }
    });
    f.addBlurListener(new BlurListener() {
        @Override
        public void blur(BlurEvent event) {
            b.removeClickShortcut();
        }
    });
于 2012-05-30T19:05:40.957 に答える
2

新しいバージョンのVaadinでは、addListener()が非推奨になったため、次のコードが必要です。

    f.addFocusListener(new FocusListener() {

        private static final long serialVersionUID = -6733373447805994139L;

        @Override
        public void focus(FocusEvent event) {
            b.setClickShortcut(KeyCode.ENTER);
        }
    });

    f.addBlurListener(new BlurListener() {

        private static final long serialVersionUID = -3673311830300629513L;

        @Override
        public void blur(BlurEvent event) {
            b.removeClickShortcut();
        }
    });
于 2014-02-09T09:15:18.940 に答える
1

Vaadin 14に関して話すと、私は答えを探していました、そして私にとって、これはうまくいきました

  Button search = new Button("Search");
  search.addClickShortcut(Key.ENTER);
于 2020-07-07T07:45:21.183 に答える