0

を使用していJideTabbedPaneます。拡張しJTabbedPaneます。ユーザーがタブの名前を編集した後、名前が特定の基準を満たしているかどうかを確認したいと思います。たとえば、名前が空の文字列であってはなりません。基準を満たさない場合は、タブの古い名前を使用する必要があります。

を使用しTabEditingListenerてこのタスクを実行しようとしましたが、うまくいきませんでした。ここに私が書いたものがあります:

  addTabEditingListener(new TabEditingListener() {
    public void editingStopped(TabEditingEvent event) {
      if (event.getNewTitle().isEmpty()) {
        setTitleAt(event.getTabIndex(), event.getOldTitle());
      }
    }
  }

どんなアイデアでも大歓迎です。

4

2 に答える 2

0

私はよく知らJideTabbedPaneないので、より良い解決策とメカニズムがあるかもしれません。しかし、JTabbedPane#setTitleAt私が推測するメソッドは、タイトルを編集した後に呼び出され、ソースコードに従ってプロパティに対してaPropertyChangeEventを起動します。indexForTitleそのイベントをリッスンして検証を実行できます。

于 2012-04-10T21:10:14.017 に答える
0

無効でない場合は、テキストを入力したとおりに設定するというelseステートメントが必要です。

于 2012-04-10T22:03:12.923 に答える