Skip Navigation

About Swing Apps as Plug-ins

Swing is built on top of other Java technologies, such as JavaBeans, Java2D, Accessibility, and Internationalization. The Swing API enables developers to create desktop and internet applications. The Swing API consists of GUI components and services.

You can wrap your existing Swing apps as plug-ins for Sabre Red 360. A Swing app that is deployed to Sabre Red 360 has the following characteristics:

  • The app is embedded either in an editor, a view, or both. The view can be either vertical or horizontal.

  • The app has a corresponding menu entry and icon. Swing apps can contribute to any of the menus on Sabre Red 360.

  • For Swing apps that interact with Sabre Red 360, the app contributes to the status line.

  • The app can interact with other SWT elements.

Dependencies and Classes

When you are creating a Swing app, Sabre Red 360 has defined some dependencies and extension points that are required to create the wrapping plug-in. They are listed below.

Minimum Required Dependencies

  • org.eclipse.albireo.core

  • com.sabre.edge.platform.core.common

  • If you are embedding your Swing application in an editor, the com.sabre.edge.platform.core.editor dependency is also required.

Extension Points

Not applicable

Classes

  • To wrap a Swing app in either an editor or a view, you will extend the org.eclipse.albireo.core.SwingControl class to encapsulate the JComponent in your application.

  • Implement the following two abstract methods from SwingControl:

        createSwingComponent() and getLayoutAncestor()

  • If you are writing code to implement interaction between Swing and SWT, use the following methods:

        javax.swing.SwingUtilities.invokeLater()

        org.eclipse.swt.widgets.Display.asyncExec()