Independent Window Toolkit

Is there any way to work with native windows and events in java without having to use awt ? Something like a third party api that let us use to cygnusx or win32 apis with a binding.

Have you guys considering the possibility of making jogl independent of awt ? By a means similar to the one i described above. Or perhaps a more flexible sytem using Device and Driver interfaces that could be extended to make use of different window native apis at player choice.

For instance a set of interfaces like this, simple and direct to the point:

LocatorDevice - Something that signals a position on screen, handles locator device events

KeyboardDevice - Similar to a keyboard or a keypad, handles keyboard events

WindowDevice - opens/closes native windows, handles clipping, activate, deactivate, hidden, shown, visible area, events for show, hide, active, inactive, etc

ScreenDevice - Handles screen resolution, capabilities, switch resolutions, color mode, frequency, etc

TimeDevice - Handles time measures, can be clocked to call several clalback methods at certain times, can show current time measure with great precision required for games.

Measure - Information sampled directly from a device showing its status.

Event / EventQueue - Information gathered from devices set to event mode.

Device - This matches a logical or real device (WindowDevice is a logical one). A device can be made active/inactive, set to sample mode only, set to event mode and sample mode. (See book CG from Foley).

DeviceController - Controller for collecting events from all devices in the EventQueue.

GraphicsDevice - Allows access to the framebuffer, raster operation and provides a set of primitive 2d and 3d operations to build upon.

DeviceConfiguration - For device configuration.

This are interfaces, the real classes would be put in subpackages like win32 or cynusx and would extend this. A factory or some other method would allow the programmer to select which subpackage to use.