Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.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 如何检查Libgdx中的文本字段是否集中?_Java_Libgdx_Textfield - Fatal编程技术网

Java 如何检查Libgdx中的文本字段是否集中?

Java 如何检查Libgdx中的文本字段是否集中?,java,libgdx,textfield,Java,Libgdx,Textfield,我需要检查文本字段是否聚焦,因为如果聚焦,我可以将其隐藏。要使Libgdx中的文本字段具有聚焦,必须单击它。因此,解决这个问题的方法是在文本字段中添加ClickListener 这是一个例子 TextField text = new TextField("Text", skin); text.addListener(new ClickListener(){ public void clicked(InputEvent e, float x, float y) {

我需要检查文本字段是否聚焦,因为如果聚焦,我可以将其隐藏。

要使Libgdx中的文本字段具有聚焦,必须单击它。因此,解决这个问题的方法是在文本字段中添加ClickListener

这是一个例子

    TextField text = new TextField("Text", skin);
    text.addListener(new ClickListener(){
        public void clicked(InputEvent e, float x, float y) {
            //perform some action once it is clicked.
        }
    });
您可以使用并将其添加到文本字段。 William Reeds解决方案也应该可以工作,但也可以通过调用TextField中的方法
next(boolean up)
切换到下一个TextField,或者如果启用此选项(
setFocusTraversal(boolean focusTraversal)),则按“tab”切换到下一个TextField
。在这种情况下,ClickListener将无法工作。
试试这个,告诉我它是否有效我不确定…

如果你只是想检查演员是否集中,你可以使用
Stage#getKeyboardFocus()
Stage#getScrollFocus()
返回当前正在集中进行键盘或滚动输入的演员。在这种情况下,代码可能如下所示:

if (stage.getKeyboardFocus() == textField) {
    stage.unfocus(textField);
}

这些答案解决了你的问题吗?我建议的Focuslistener解决方案有效吗?对我来说,
stage.getKeyboardFocus()
总是返回null