Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JLabel应该无法接收焦点。。但确实如此?_Java_Swing_Focusmanager - Fatal编程技术网

Java JLabel应该无法接收焦点。。但确实如此?

Java JLabel应该无法接收焦点。。但确实如此?,java,swing,focusmanager,Java,Swing,Focusmanager,我正在开发一个Swing应用程序,它使用默认的Swing方法来处理焦点。“专注”并不像我预期的那样有效 在一种情况下,我有一个JTextField,当窗口显示时,我调用.requestFocusInWindow(),而JLabel有焦点 JLabel的Java6文档说“因此,它无法获得键盘焦点。” 但是,我有一个示例应用程序,它显示了一个JLabel接收焦点和KeyboardFocusManager。getFocusOwner()返回该组件。(http://github.com/akinsgre

我正在开发一个Swing应用程序,它使用默认的Swing方法来处理焦点。“专注”并不像我预期的那样有效

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

JLabel的Java6文档说“因此,它无法获得键盘焦点。”

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

该类的代码是


有人能帮我理解或解释我遗漏了什么吗?

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

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

我们大多数人不会去未知站点,尤其是未来的读者,为了更好地帮助他们,请尽快用,JLabel和一个可聚焦的JComponent组件,例如JTextField,演示您的聚焦和聚焦。不知道为什么JLabel会获得聚焦,但会对您的其他问题提出建议。javadoc for建议不要使用这种方法,因为它依赖于平台,并且尽可能使用。mKorbel:我以为我正在这样做。Github repo(未知?)是一个maven项目,只有一个类文件。但是好啊类文件就在这里(链接到源代码不是比内联粘贴代码更好吗)?谢谢Danny。我在源代码中使用requestFocusInWindow。但这并没有给我任何不同的结果。“我有一个JTextField,我调用了.requestFocus()”,这不是
HelloWorldSwing
中说明
label.requestFocusInWindow()的行所建议的我们大多数人都不会去未知的仓库,特别是对于未来的读者,为了更好地帮助他们更快地编辑您的问题,请使用an、JLabel和一个可聚焦的JComponent,例如JTextField,演示您的聚焦和聚焦。我们不知道为什么JLabel会获得聚焦,但可以为您的其他问题提供建议。javadoc for建议不要使用这种方法,因为它依赖于平台,并且尽可能使用。mKorbel:我以为我正在这样做。Github repo(未知?)是一个maven项目,只有一个类文件。但是好啊类文件就在这里(链接到源代码不是比内联粘贴代码更好吗)?谢谢Danny。我在源代码中使用requestFocusInWindow。但这并没有给我任何不同的结果。“我有一个JTextField,我调用了.requestFocus()”,这不是
HelloWorldSwing
中说明
label.requestFocusInWindow()的行所建议的谢谢比尔,这不会改变你的行为。JLabel仍然可以聚焦。我可以通过使用setFocusable(false)来避免这个问题。。这仍然不清楚为什么文件似乎不同意JLabelhanks法案的行为,该法案没有改变行为。JLabel仍然可以聚焦。我可以通过使用setFocusable(false)来避免这个问题。。这仍然不清楚为什么文档似乎不同意JLabel的行为