Java 如何检查Libgdx中的文本字段是否集中?
我需要检查文本字段是否聚焦,因为如果聚焦,我可以将其隐藏。要使Libgdx中的文本字段具有聚焦,必须单击它。因此,解决这个问题的方法是在文本字段中添加ClickListener 这是一个例子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) {
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