Java getDefaultEnvironment()不重新扫描硬件

Java getDefaultEnvironment()不重新扫描硬件,java,object,controller,jinput,Java,Object,Controller,Jinput,我试图获得一个刷新按钮来重新加载控制器列表,但是无论我调用它多少次,硬件检查只执行一次 Controller[] controllers = ControllerEnvironment.getDefaultEnvironment().getControllers(); 这在第一次执行时工作正常,甚至可以将其打印到控制台: Jul 13, 2015 1:22:58 PM net.java.games.input.ControllerEnvironment log INFO: Linux plug

我试图获得一个刷新按钮来重新加载控制器列表,但是无论我调用它多少次,硬件检查只执行一次

Controller[] controllers = ControllerEnvironment.getDefaultEnvironment().getControllers();
这在第一次执行时工作正常,甚至可以将其打印到控制台:

Jul 13, 2015 1:22:58 PM net.java.games.input.ControllerEnvironment log
INFO: Linux plugin claims to have found 2 controllers
这两个控制器将正确显示在我的列表中

问题是,这只运行一次,不会重新执行硬件扫描,因此在控制器断开连接时不会显示

有人能解释一下为什么getDefaultEnvironment()不重新运行,以及强制执行此操作的简单方法是什么