JRuby で SWT を使う (Windows 環境)
SWT を適当にダウンロードしてくる
解凍して出てきたファイル
swt.jarswt-awt-win32-xxxx.dll swt-gdip-win32-xxxx.dll swt-wgl-win32-xxxx.dll swt-win32-xxxx.dll
を %JRUBY_HOME%\lib にコピー
追記: 今は swt.jar の中に dll が入ってるから、swt.jar だけコピーすればいい
%JURYB_HOME%\bin\jruby.bat の
rem ----- Set Up The Runtime Classpath -- set CP= ....
に
%JRUBY_HOME%\lib\swt.jar
を追加
rem ----- Execute The Requested Command -- %_STARTJAVA% -Xmx256m -ea -cp "%CLASSPATH%" ....
に
-Djava.library.path=%JRUBY_BASE%\lib
を追加
追記: JRuby 1.0 以上の場合
%JRUBY_HOME%\lib 以下にある *.jar ファイルを自動的に、CLASS_PATH に追加するよう変更されているので、上のようにバッチファイルを変更する必要はなくなっていた
下記のようなコードを、swttest.rb とか適当なファイル名で保存して
require 'java' module SWT include_package 'org.eclipse.swt' include_package 'org.eclipse.swt.layout' include_package 'org.eclipse.swt.widgets' end display = SWT::Display.new shell = SWT::Shell.new display shell.pack shell.open display.sleep unless display.readAndDispatch while !shell.isDisposed display.dispose
C:\> jruby swttest.rb
で実行