概要

JTabbedPaneのタブ移動時にタブコンポーネントに設定されたInputVerifierを実行し、その検証で入力が無効な場合はタブの切替をキャンセルします。

サンプルコード

tabbedPane.setModel(new DefaultSingleSelectionModel() {
  @Override public void setSelectedIndex(int index) {
    InputVerifier verifier = p.getInputVerifier();
    if (Objects.nonNull(verifier) && !verifier.shouldYieldFocus(p)) {
      UIManager.getLookAndFeel().provideErrorFeedback(p);
      JOptionPane.showMessageDialog(p, "InputVerifier#verify(...): false");
      return;
    }
    super.setSelectedIndex(index);
  }
});
View in GitHub: Java, Kotlin

解説

参考リンク

コメント