java - 设置 Actor 监听 LibGDX 中的按钮点击

标签 java libgdx listener textfield

背景信息:我目前正在为我的游戏扩展一个 Dialog 类。在该对话框的内容表中,我有一个图像和一个表(我们将其称为 ioTable)。在 ioTable 内部,我结合了标签和文本字段。这个想法是,对话框成为一种供用户填写的表格。

接下来,在对话框的按钮表中,我想包含一个“清除”文本按钮 (clearButton)。 clearButton 将清除写入 ioTable 的 TextFields 的任何值。

我的问题:可以向 ioTable 的每个 TextField 添加一个监听器,该监听器将在按下 clearButton 时触发。一如既往,任何其他创造性的解决方案都非常受欢迎。

最佳答案

您可以只为 EventListener 提供对要清除的表的引用:

// Assuming getSkin() and ioTable are defined elsewhere and ioTable is final
TextButton clearButton = new TextButton("Clear", getSkin());
clearButton.addListener(new EventListener() {
  @Override
  public boolean handle(Event event) {
    for(Actor potentialField : table.getChildren()) {
      if(potentialField instanceof TextField) {
        ((TextField)potentialField).setText("");
      }
    }
    return true;
  }
});
// Add clearButton to your dialog

如果您发现自己创建了多个clearButton,您可以轻松地将其包装在辅助方法中或扩展TextButton

关于java - 设置 Actor 监听 LibGDX 中的按钮点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41403136/

相关文章:

Android ListView 点击监听器不起作用

c++ - Box2D b2Contact 传感器无法检测到物体碰撞

Java定时器错误异常

Java小程序: Java. exe进程大约1分钟后退出,下一代java插件

java - Libgdx 无法为目标 linux 32 位加载共享库 gdx freetype,我该如何解决?

java - 链接谷歌播放服务后,Eclipse 崩溃并超出 GC 开销限制

java - 较大的小数和浮点输出上的 "E"或 "e"字符是什么意思?

java - Spring-RMI 事件导致 java.io.InvalidClassException : filter status: REJECTED

java - Eclipse 没有在断点处停止/中断?

java - JavaFX 中的切换按钮和监听器