Mega Code Archive

 
Categories / Java Tutorial / SWT
 

Using AWT to paint inside SWT

import java.awt.Canvas; import java.awt.Dimension; import java.awt.Frame; import java.awt.Graphics; import org.eclipse.swt.SWT; import org.eclipse.swt.awt.SWT_AWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class PaintAWTInsideSWT {   public static void main(String[] args) {     final Display display = new Display();     final Shell shell = new Shell(display);     shell.setLayout(new FillLayout());     Composite composite = new Composite(shell, SWT.EMBEDDED);     Frame frame = SWT_AWT.new_Frame(composite);     Canvas canvas = new Canvas() {       public void paint(Graphics g) {         Dimension d = getSize();         g.drawLine(0, 0, d.width, d.height);       }     };     frame.add(canvas);     shell.open();     while (!shell.isDisposed()) {       if (!display.readAndDispatch())         display.sleep();     }     display.dispose();   } }