Class ControllerEnvironment
- Direct Known Subclasses:
AWTEnvironmentPlugin
,DirectAndRawInputEnvironmentPlugin
,DirectInputEnvironmentPlugin
,LinuxEnvironmentPlugin
,OSXEnvironmentPlugin
,RawInputEnvironmentPlugin
,WinTabEnvironmentPlugin
In this reference implementation, this class can also be used to register controllers with the default environment as "plug-ins". A plug-in is created by subclassing ControllerEnvironment with a class that has a public no-argument constructor, implements the net.java.games.util.plugins.Plugin interface and has a name ending in "Plugin". (See net.java.games.input.DirectInputEnvironmentPlugin in the DXplugin part of the source tree for an example.) When the DefaultControllerEnvrionment is instanced it uses the plugin library to look for Plugins in both [java.home]/lib/controller and [user.dir]/controller. This allows controller plugins to be installed either globally for the entire Java environment or locally for just one particular Java app. For more information on the organization of plugins within the controller root directories, see net.java.games.util.plugins.Plugins (Note the plural -- "Plugins" not "Plugin" which is just a marker interface.)
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
Protected constructor for subclassing. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a listener for controller state change events.protected void
Creates and sends an event to the controller listeners that a controller has been added.protected void
Creates and sends an event to the controller listeners that a controller has been lost.abstract AbstractController[]
Returns a list of all controllers available to this environment, or an empty array if there are no controllers in this environment.static ControllerEnvironment
Returns the default environment for input controllers.abstract boolean
Returns the isSupported status of this environment.void
Removes a listener for controller state change events.abstract AbstractController[]
Rescans the devices and provides a list of new controllers.
-
Field Details
-
controllerListeners
List of controller listeners
-
-
Constructor Details
-
ControllerEnvironment
protected ControllerEnvironment()Protected constructor for subclassing.
-
-
Method Details
-
getControllers
Returns a list of all controllers available to this environment, or an empty array if there are no controllers in this environment. -
rescanControllers
Rescans the devices and provides a list of new controllers.- Returns:
- a list of all controllers available to this environment.
-
addControllerListener
Adds a listener for controller state change events. -
isSupported
public abstract boolean isSupported()Returns the isSupported status of this environment. What makes an environment supported or not is up to the particular plugin, but may include OS or available hardware. -
removeControllerListener
Removes a listener for controller state change events. -
fireControllerAdded
Creates and sends an event to the controller listeners that a controller has been added. -
fireControllerRemoved
Creates and sends an event to the controller listeners that a controller has been lost. -
getDefaultEnvironment
Returns the default environment for input controllers. This usually corresponds to the environment for the local machine.
-