XSWT

続XSWT Hello World!

web siteみても全然意味わからん。ダウンロードしたサンプルをみて一番簡単そうなのを書いてみました。ちゃんとJavaコード載せといてくれよ。Javaコードも生成できるみたい。JFaceが必要みたい。

ボタンのアクションとかどうやるんだろう。。。
XSWT#createってMapを返すみたいだけど、ひょっとして、あとはこのMapからボタンとかを取りだしてきて、好きなようにしろってことなんだろうか?単にGUIを組み立ててくれるだけ??


hello.xswt

<?xml version="1.0" encoding="UTF-8"?>
<xswt xmlns:x="http://sweet_swt.sf.net/xswt">

  <import xmlns="http://sweet_swt.sf.net/xswt">
    <package name="java.lang"/>
    <package name="org.eclipse.swt.widgets"/>
    <package name="org.eclipse.swt.layout"/>
  </import>

  <x:children>
    <label text="Hello World!"/>
  </x:children>
</xswt>

Hello.java

import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

import com.swtworkbench.community.xswt.XSWT;
import com.swtworkbench.community.xswt.XSWTException;

public class Hello {
    public static void main(String[] args) {
        Display d = new Display();
        Shell s = new Shell(d);
        s.setText("XSWT Hello World");
        s.setLayout(new GridLayout());

        try {
            XSWT.create(s, "hello.xswt");
        } catch (XSWTException e) {
            e.printStackTrace();
        }

        s.open();

        while (!s.isDisposed()) {
            if (!d.readAndDispatch()) {
                d.sleep();
            }
        }
        s.dispose();
     }
}

必要なライブラリ
xswt.jar
swt.jar
swt-pi.jar
swt-mozilla.jar
jface.jar
libswt-gtk-3063.so
libswt-atk-gtk-3063.so
libswt-mozilla-gtk-3063.so
libswt-awt-gtk-3063.so
libswt-pi-gtk-3063.so
libswt-gnome-gtk-3063.so