LogoJavaHMI Home


JavaHMI is an Open Source Java™ API for developing human machine interfaces.  It is based on a observable/event driven control structure.  JavaHMI's graphical components can be programmatically attached to remote controller resources.

JavaHMI's resource monitoring objects are event driven, in that they fire change events when the resource changes state.  An operating range can be defined for a monitored resource.  If the operating value goes outside this range the object can be set to fire an alarm event.  This makes data/alarm logging extremely simple.

Webstart Demos*

JavaHMI Demo 1 Demonstration of JavaHMI's digital IO interface components.
JavaHMI Demo 2 Demonstration of JavaHMI's analog IO interface components.
JavaHMI Demo 3 Demonstration of JavaHMI's process control capabilities.  This demo incorporates both digital and analog components.

*The demos above are viewable using Java™ Webstart Download Webstart Now.





Observable/Event Driven Control Structure

JavaHMI's abstract ControlObserver class is the core of JavaHMI's sophisticated resource monitoring structure.  Extending ControlObserver through the abstract classes DecimalControlObserver, IntegerControlObserver and BooleanControlObserver provides implementations of ControlObserver with specific read/write capabilities.

JavaHMI includes a number of rich graphical components that interact with a single or collections of ControlObserver implementations.  JavaHMI's graphical components use ControlObserver to maintain their appearance by listening for ControlChangeEvents and ControlAlarmEvents.

The ControlObserver object fires a ControlChageEvent when the state of the ControlObservable has changed and fires a ControlAlarmEvent when the current state has breached the normal operation bounds defined by the read/write specific implementations of ControlObserver.

Digital IO Component Interfaces

  • Pilot Lights
  • Toggle Buttons
  • Momentary Buttons
  • Check Boxes
  • Radio Buttons
  • Digital Event Strip Charts


Variable IO Component Interfaces

  • Analog Gauge
  • Label
  • Progress Bar
  • Slider
  • Spinner
  • Text Field
  • Variable IO Strip Chart
  • Horizontal Bar Chart


Process Control Components

  • Pumps
  • Pipes
  • Valves
  • Tanks


Do you have an idea for a JavaHMI icon?  Send your suggestions to

Copyright © 2002, 2003 Xilution, Inc.