SwingのGUI貼リ付けテスト

Compositeの領域を作っておいて、ShellのActivateイベントでSwingのGUIを貼り付けることができた。
これでJFreeChartを使ったグラフを貼り付けたりできそうだ。


ソースの断片はこんな感じ。

    @EventListener(id=WindowContext.SHELL_ID, eventListenerType=EventListenerType.ACTIVATE)
    public void shellActivated() {
        swingBox.setLayout(new GridLayout());
        
        Composite awtComposite = new Composite(swingBox, SWT.EMBEDDED);
        GridData gridData = new GridData(GridData.FILL_BOTH);
        awtComposite.setLayoutData(gridData);
        
        Frame awtFrame = SWT_AWT.new_Frame(awtComposite);
        awtFrame.setLayout(new BorderLayout());
        awtFrame.add(new JButton("テスト"), BorderLayout.CENTER);
        
        awtComposite.pack();
        swingBox.layout();
    }

もしかしたらawtComposite自体をXMLで登録しておくような形にはできるかも。

あとActivateイベントだとウィンドウ切り替えごとにイベントが呼び出されるので、ウィンドウ表示時のイベントとしてOpenみたいなのがあるといいかもなぁ。