Java 如何验证JTabbedPane中的选项卡名称

Java 如何验证JTabbedPane中的选项卡名称,java,swing,jtabbedpane,Java,Swing,Jtabbedpane,我使用的是JideTabbedPane。它扩展了JTabbedPane。在用户编辑选项卡的名称后,我想检查名称是否符合某些条件,例如名称不能是空字符串。如果不符合条件,则应使用选项卡的旧名称 我使用了一个选项卡EditingListener来完成这项任务,但没有成功。以下是我写的: addTabEditingListener(new TabEditingListener() { public void editingStopped(TabEditingEvent event) {

我使用的是
JideTabbedPane
。它扩展了
JTabbedPane
。在用户编辑选项卡的名称后,我想检查名称是否符合某些条件,例如名称不能是空字符串。如果不符合条件,则应使用选项卡的旧名称

我使用了一个
选项卡EditingListener
来完成这项任务,但没有成功。以下是我写的:

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

任何想法都将不胜感激。

我不熟悉
JideTabbedPane
,因此可能会有更好的解决方案和机制。但是
JTabbedPane#setTitleAt
方法,我猜它是在编辑标题后调用的,根据源代码为
indexForTitle
属性触发
PropertyChangeEvent
。您可以侦听该事件并执行验证。

您应该有一个else语句,该语句几乎可以说明,如果它不是无效的,请将文本设置为它们输入的内容。

您可能需要指定“未工作”部分。你的听众从未打过电话吗?事件中的标题是否未设置?你有例外吗@Robin侦听器被调用,但标题从未设置。没有例外。什么也没发生。你的EDT问题与@mKorbel中的相同吗?我没有EDT问题。