如何在JTabbedPane中验证选项卡名称

最后发布: 2012-04-10 21:04:37


问题

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

我使用TabEditingListener尝试完成此任务,但是没有用。 这是我写的:

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

任何想法将不胜感激。

java swing jtabbedpane
回答

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


回答

您应该有一条else语句,几乎是说如果无效,请将文本设置为输入的内容。