package interop; /* * Windows: * - works (note AWT draws garbage with XP manifest) * * Motif: * - GP's in SWT when the first Xm call is made * - GP's in AWT when the SWT shared lib is loaded first * * GTK: * - works (could be some low level X locking problems) * * Mac: * - fails, events come in on the wrong thread * - when the mouse moves over the AWT window, SWT gets an event * * Photon: * - untested */ /* AWT */ import java.awt.*; /* SWT */ import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.layout.*; public class AWTandSWT { public static void main (String [] args) { /* AWT */ Frame frame = new Frame ("AWT Frame"); java.awt.Button button1 = new java.awt.Button ("Button1"); java.awt.Button button2 = new java.awt.Button ("Button2"); frame.add ("East", button1); frame.add ("West", button2); frame.pack (); frame.setVisible (true); /* SWT */ Display display = new Display (); Shell shell = new Shell (display); shell.setText ("SWT Shell"); shell.setLayout (new RowLayout ()); org.eclipse.swt.widgets.Button b1 = new org.eclipse.swt.widgets.Button (shell, SWT.PUSH); b1.setText ("Button1"); org.eclipse.swt.widgets.Button b2 = new org.eclipse.swt.widgets.Button (shell, SWT.PUSH); b2.setText ("Button2"); shell.pack (); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); System.exit (0); } }