PaintAWTInsideSWT.java Source code

Java tutorial

Introduction

Here is the source code for PaintAWTInsideSWT.java

Source

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();
    }
}