跟踪焦点问题(JTabbedPane)

发布于 2024-11-03 21:39:06 字数 503 浏览 7 评论 0原文

我想跟踪 Java 应用程序中所有组件的焦点。我注册了一个适用于大多数组件的方法,但它不适用于更改选项卡。代码如下:

FocusManager.getCurrentManager().addPropertyChangeListener(new PropertyChangeListener() {
  @Override
  public void propertyChange(PropertyChangeEvent evt) {
    System.out.println(evt.getPropertyName() + " " + evt.getNewValue());
  }
}

如果我更改 JTabbedPane 中的选项卡,将不会导致打印消息。我怀疑这是由于 JTabbedPane 焦点未更改(因为单击不同的选项卡可能意味着它仍然属于父 JTabbedPane)。

是否有解决方法,或者有人知道 Java 中跟踪焦点更改的保存方法也适用于正在更改的选项卡?

干杯, 最大限度

I'd like to track the focus for all components in my Java application. I registered a method which works for most of the components, but it does not work for changing tabs. Here's the code:

FocusManager.getCurrentManager().addPropertyChangeListener(new PropertyChangeListener() {
  @Override
  public void propertyChange(PropertyChangeEvent evt) {
    System.out.println(evt.getPropertyName() + " " + evt.getNewValue());
  }
}

If I change a tab in a JTabbedPane, it will not cause a message to be printed. I suspect that this is due to the JTabbedPane focus not being changed (as clicking on a different tab may mean that it still belongs to the parent JTabbedPane).

Is there a workaround for this or does anyone know of a save method to track focus changes in Java that works also for tabs being changed?

Cheers,
Max

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梨涡少年 2024-11-10 21:39:07

您可以将 ChangeListener 添加到选项卡式窗格以侦听选项卡中的更改。

You can add a ChangeListener to the tabbed pane to listen for changes in tabs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文