Using Swing with Java 3D

The Java Swing API is a nearly exhaustive collection of user interface widgets that can be used to build a user interface around a Java 3D application. There are some real challenges to mixing Swing and Java 3D components. This is largely because Swing components are lightweight whereas the Java 3D Canvas3D component is heavyweight.

Lightweight Versus Heavyweight

The difference between lightweight and heavyweight components is a bit obscure. Simply stated, heavyweight components reference their own native screen resource called a peer. A lightweight component has no native peer and therefore temporarily uses the resources of a nearby native peer.

In general, lightweight UI components have many advantages including having ...

Get Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.