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

JLabel应该无法接收焦点..但它有?

张啸
2023-03-14

我正在开发一个使用默认Swing方法处理焦点的Swing应用程序。焦点并不像我想象的那样起作用。

在一种情况下,我调用了一个JTextField.RequestFocusInWindow()当窗口显示时,JLabel有焦点

JLabel的Java6文档说:“因此,它无法获得键盘焦点。”http://docs.oracle.com/javase/6/docs/api/javax/swing/jlabel.html

但是,我有一个示例应用程序,显示JLabel接收焦点,KeyboardFocusManager.getFocusOwner()返回该组件。(http://github.com/akinsgre/swingstarter)

该类的代码是https://raw.github.com/akinsgre/swingstarter/master/src/main/java/test/helloworldswing.java

谁能帮我理解或解释我错过了什么?

共有1个答案

俞俊逸
2023-03-14

我认为您需要将标签与文本字段相关联。因此,请尝试使用setLabelFor方法,看看这是否有帮助。

 类似资料:
  • 我正在尝试做一些项目前的经验,对最新的反应堆网络版本,缺乏文档;我使用的是0.8.0.m3版本。 我用这个tcp服务器开发了一个简单的spring boot应用程序,它可以正确启动,并且看起来可以正常工作: 如果我尝试使用客户端进行测试,交互似乎是正确的,但我无法收到任何响应: 查看wiretap日志,客户机将每个int作为字符串单独发送,而服务器只接收一个聚合字符串“0123456789”并只发

  • 如果我执行docker命令,如 我得到一个错误,docker没有安装,我可以做sudo apt get install docker来安装它。如果我这样做,它会说docker是最新版本。我是否需要设置二进制文件的某种路径才能运行它? 如果我做,没有答案。

  • 我正在尝试编写一个应用程序,它可以检测设备上的任何应用程序何时开始或停止播放音乐。我的应用程序不是媒体播放器,更多的是仪表板功能,所以我不需要请求音频聚焦,但我想知道其他应用程序何时会这样做,这样我就可以相应地更新我的状态文本。 本质上,我相信函数AudioManager.isMusicActive()将提供我想知道的东西,但是由于我正在编写一个将一直打开的服务,我希望避免需要不断地轮询它。我需要

  • 我有一个非常简单的: 如您所见,我仅在片段为null时创建片段。

  • 我已经在互联网上搜索了一两个星期,想找到一个UDP客户端程序,它可以同时发送和接收数据,但是对于c#来说,没有关于这个主题的内容。在过去的几天里,我尝试创建一个UDP客户端,其中包含一个接收数据的线程。 发送UDP数据包效果很好,但程序无法接收我发送到的服务器,我相信服务器正在将所有数据包发送到不同的端口。 我如何修复这个程序? 有没有一种更简单的方法来进行UDP编程,比如用于TCP的Stream