import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.Taskbar;

import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class EmbedSwingAWTSWT {
    public static void main(String[] args) {
        System.setProperty("apple.laf.useScreenMenuBar", "true");
        final Display display = new Display();
        final Shell shell = new Shell(display);
        shell.setText("SWT and Swing/AWT Example");

        Composite treeComp = new Composite(shell, SWT.EMBEDDED);

        treeComp.setBounds(5,5,300,300);
        PopupMenu pm = new PopupMenu();
        MenuItem m1 = new MenuItem("Exit");
        MenuItem m2 = new MenuItem("Hide");
        pm.add(m1);
        pm.add(m2);
        Taskbar taskbar = Taskbar.getTaskbar();
        taskbar.setMenu(pm);

        java.awt.Frame fileTableFrame = SWT_AWT.new_Frame(treeComp);
        java.awt.Panel panel = new java.awt.Panel(new java.awt.BorderLayout());
        fileTableFrame.add(panel);
        JTree fileTable = new JTree();
        fileTable.setDoubleBuffered(true);
        JScrollPane scrollPane = new JScrollPane(fileTable);
        panel.add(scrollPane);
        MenuBar mb = new MenuBar();
        Menu menu = new Menu("The Menu");
        mb.add(menu);
        fileTableFrame.setMenuBar(mb);

        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
        display.dispose();
    }
}