当前位置: 首页 > 知识库问答 >
问题:

在jPanel上检测焦点的变化

邵伟泽
2023-03-14

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

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

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

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

共有1个答案

朱雅惠
2023-03-14

默认情况下,<code>JPanel</code>不可聚焦。

相反,您应该跟踪选定的选项卡

查看如何使用选项卡式窗格以了解更多信息

 类似资料:
  • 我正在尝试从uwsgi-doc 运行Ubuntu Focus al(全新安装[VM]) 这是我安装的所有内容 但是当我试着运行我得到的例子时 [...] JVM 11.0.14 9-Ubuntu-0ubuntu2.20.04初始化为0x555b6858c348(工作线程:1 pid:5177)线程“main”java.lang.NoClassDefFoundError:uwsgi由以下原因引起:j

  • 是否可以将焦点从更改为? 我尝试了以下方法: 但它不起作用。按Tab键或Enter键时,光标消失。

  • 我希望能够检测编辑文本何时没有被点击,这样我就可以用文本视图替换它。我试过了 但是祝酒词不会被调用。

  • 我正在开发一个具有以下结构的应用程序: FrmMain(其中包含我想添加“布局”面板的面板) PnlNewCase(设置为接收区域特定面板的“布局”面板) PnlNewCaseNotes(添加到PnlNewCase的面板之一) PnlNewPart sSelect(我存在的祸根) 我的想法是,每当我在PnlNewPartsSelection中创建一个新页面时,只要它被实例化,我就会把焦点放在一个特

  • 我有一个EditText-Field,并为它设置了一个OnFocusChangeListener。当它失去焦点时,将调用一个方法,该方法用数据库中的EditText检查EditText的值。如果方法的return-value为true,则显示一个toast并且焦点应该再次回到EditText上。焦点应该总是回到EditText上,键盘应该显示,直到方法的return-value为false。 ed

  • 问题内容: 我让我的游戏在没有鼠标的情况下运行,因此不能使用指针。当玩家输球时将显示高分菜单。 这是我的代码 我努力了 但仍然没有专注于我的。 如何聚焦呢? 问题答案: 如果希望在GUI显示时集中精力,可以使用以下方法: 哪里会是你和你的。