Light
Light

Reputation: 185

JavaFX Spinner - this same keyevent to more spinner

I have a little problem. I want to use this code for two spinner and I can not handle it. Thank you for your help

        spinner1.getEditor().setOnKeyPressed(event -> {
        switch (event.getCode()) {
            case UP:
                spinner1.increment(1);
                break;
            case DOWN:
                spinner1.decrement(1);
                break;
            default:
        }
    });
        spinner2.getEditor().setOnKeyPressed(event -> {
        switch (event.getCode()) {
            case UP:
                spinner2.increment(1);
                break;
            case DOWN:
                spinner2.decrement(1);
                break;
            default:
        }
    });

Upvotes: 1

Views: 214

Answers (1)

Akila Sachitra
Akila Sachitra

Reputation: 1260

Use single EventHandler instance ,

 EventHandler eh = (EventHandler<KeyEvent>) event -> {
      Spinner sp = (Spinner) event.getSource();
      switch (event.getCode()) {
          case UP:
              sp.increment(1);
              break;
          case DOWN:
              sp.decrement(1);
              break;
          default:
      }
  };

 spinner1.getEditor().setOnKeyPressed(eh);
 spinner2.getEditor().setOnKeyPressed(eh);

Upvotes: 1

Related Questions