检测jpanel上焦点的变化

时间:2013-02-22 04:01:57

标签: java swing focus jpanel

我有一个JTabbedPane。在这个组件上有四个JPanel。在每个面板上都有一个scrollPanel。最后,在每个scrollPanel上是另一个JPanel。我需要随时跟踪这些最终的JPanel中的哪一个。

所以我创建了一个名为activePanel的类变量。对于每个最终的JPanel,我都设置了一个焦点事件方法,以便当面板获得焦点时,相应地设置此变量。例如:

private void pnlAdditionFocusGained(java.awt.event.FocusEvent evt) {
        activeTab = "pnlAddition";
        System.out.println(activeTab);
    }

不幸的是,这并不像我希望的那样有效。有人可以建议我应该做些什么来跟踪这个?谢谢。

1 个答案:

答案 0 :(得分:1)

默认情况下,

JPanel无法关注。

相反,您应该跟踪所选标签

查看How to use Tabbed Panes了解详情