- 2010-06-13 (日) 21:13
- Java
以下のエントリで、JavaからJavaScriptベースのWebアプリを生成するVaadinというフレームワークがあることを知った。
記事を見ると、GWTがベースになっているようだけれど、ほとんどSwingの感覚でUIを作ることができるみたい。これは面白そうだと思い、試してみた。
■開発環境の構築
EclipseとXAMPPをインストールしているので、まず、Codezineのエントリを参考に、EclipseにVaadinのプラグインを導入(http://vaadin.com/eclipse)した。ここまでは悩むことなく順調。
次いでプロジェクトを生成して、サーバーを設定した。ここで、トラブル。EclipseからXAMPPがTomcatが起動できない。
エラーは「java.lang.UnsatisfiedLinkError: org.apache.tomcat.jni.Pool.create(J)J」となっている。
Webで情報を調べたところ、EclipseからTomcatを呼び出すには、Apache Portable Runtime (APR) based Native library for Tomcatというライブラリが必要だが、XAMPPにはこれが入っていないとのこと。
Apache Portable Runtime (APR) based Native library for Tomcatから最新バージョン(1.1.14)のtcnative-1.dllをダウンロードし、パスが通ったフォルダに入れたら、無事起動した。

■サンプル作成
次いで、CodezineのエントリとDemoを参考に、サンプルコードを書いてみた。
実行画面は以下のとおり。使い慣れた、Eclipse、Javaの文法ということで、特に悩むところなしでした。

あと、VaadinはGoogle App Engineに対応しているらしいので、もう少し触ってみたい。
package com.example.test01;
import com.vaadin.Application;
import com.vaadin.terminal.ExternalResource;
import com.vaadin.ui.Button;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Link;
import com.vaadin.ui.TextField;
import com.vaadin.ui.Window;
import com.vaadin.ui.Button.ClickEvent;
public class Test01Application extends Application {
private Window mainWindow;
private TextField text;
@Override
public void init() {
mainWindow = new Window("Test01 Application");
mainWindow.addComponent(new Label("
Hello World",Label.CONTENT_XHTML));
mainWindow.addComponent(new Label("
",Label.CONTENT_XHTML));
mainWindow.addComponent(new Label("Test"));
HorizontalLayout layout = new HorizontalLayout();
layout.setSpacing(true);
mainWindow.addComponent(layout);
text=new TextField();
text.setValue("title");
layout.addComponent(text);
Button button = new Button("OK");
button.addListener(new Button.ClickListener(){
@Override
public void buttonClick(ClickEvent event) {
Window sub = new Window(text.getValue().toString());
sub.setPositionX(100);
sub.setPositionY(100);
Label label = new Label("
"+text.getValue().toString()+"
",Label.CONTENT_XHTML);
sub.addComponent(label);
Link link = new Link("Vaadinに移動", new ExternalResource("http://vaadin.com/home"));
sub.addComponent(link);
mainWindow.addWindow(sub);
}
});
layout.addComponent(button);
setMainWindow(mainWindow);
}
}
Related posts:
Comments:0
Trackbacks:1
- Trackback URL for this entry
- http://termat.sakura.ne.jp/java/vaadin%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/trackback/?_wpnonce=7dabbed786
- Listed below are links to weblogs that reference
- Vaadinを試してみた。 from TM's Workspace
- pingback from TM's Workspace - GAE:Google App Engine(GAE)でVaadin使ってみた。 10-06-20 (日) 0:31
-
[...] 次いで、ソースコードを入力。ソースコードは、6/13のエントリのコードをそのまま使用した。 [...]
