Archive for the ‘SWT’ Category
-
Hello, Win32 API(BeanShell) World!
Posted on 1月 12th, 2013 by cx20
Win32 API(BeanShell)
Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
以下は BeanShell にて SWT の非公開 API を使用した Win32 API 呼出しの例となっている。ソースコード
import org.eclipse.swt.internal.win32.OS; import org.eclipse.swt.internal.win32.TCHAR; TCHAR lpText = new TCHAR(0, "Hello, Win32 API World!", true); TCHAR lpCaption = new TCHAR(0, "Hello, World", true); OS.MessageBox(0, lpText, lpCaption, OS.MB_OK );
実行方法
C:¥> SET CLASSPATH=bsh-2.0b4.jar;org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;%CLASSPATH% C:¥> java bsh.Interpreter Hello.bsh
実行結果
--------------------------- Hello, World! --------------------------- Hello, Win32 API World! --------------------------- OK ---------------------------
-
Hello, Win32 API(Clojure) World!
Posted on 1月 11th, 2013 by cx20
Win32 API(Clojure)
Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
以下は Clojure にて SWT の非公開 API を使用した Win32 API 呼出しの例となっている。ソースコード
(import (org.eclipse.swt.internal.win32 OS) (org.eclipse.swt.internal.win32 TCHAR)) (def lpText (TCHAR. 0 "Hello, Win32 API World!" true)) (def lpCaption (TCHAR. 0 "Hello, World" true)) (. OS (MessageBox 0 lpText lpCaption OS/MB_OK))
実行方法
C:¥> SET CLASSPATH=org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;%CLASSPATH% C:¥> clj Hello.clj
実行結果
--------------------------- Hello, World! --------------------------- Hello, Win32 API World! --------------------------- OK ---------------------------
-
Hello, Win32 API(Jython) World!
Posted on 1月 10th, 2013 by cx20
Win32 API(Jython)
Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
以下は Jython にて SWT の非公開 API を使用した Win32 API 呼出しの例となっている。ソースコード
from org.eclipse.swt.internal.win32 import OS from org.eclipse.swt.internal.win32 import TCHAR lpText = TCHAR(0, "Hello, Win32 API World!", True) lpCaption = TCHAR(0, "Hello, World", True) OS.MessageBox(0, lpText, lpCaption, OS.MB_OK )
実行方法
C:¥> SET CLASSPATH=org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;%CLASSPATH% C:¥> jython Hello.py
実行結果
--------------------------- Hello, World! --------------------------- Hello, Win32 API World! --------------------------- OK ---------------------------
-
Hello, Win32 API(JRuby) World!
Posted on 1月 9th, 2013 by cx20
Win32 API(JRuby)
Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
以下は JRuby にて SWT の非公開 API を使用した Win32 API 呼出しの例となっている。ソースコード
require 'java' require 'org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar' import 'org.eclipse.swt.internal.win32.OS' import 'org.eclipse.swt.internal.win32.TCHAR' @lpText = TCHAR.new(0, "Hello, Win32 API World!", true) @lpCaption = TCHAR.new(0, "Hello, World", true) OS::MessageBox(0, @lpText, @lpCaption, OS::MB_OK )
実行方法
C:¥> jruby Hello.rb
実行結果
--------------------------- Hello, World! --------------------------- Hello, Win32 API World! --------------------------- OK ---------------------------
-
Hello, Win32 API(Scala) World!
Posted on 1月 8th, 2013 by cx20
Win32 API(Scala)
Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
以下は Scala にて SWT の非公開 API を使用した Win32 API 呼出しの例となっている。ソースコード
import org.eclipse.swt.internal.win32.OS import org.eclipse.swt.internal.win32.TCHAR object Hello { def main (args: Array[String]) { var lpText = new TCHAR(0, "Hello, Win32 API World!", true) var lpCaption = new TCHAR(0, "Hello, World", true) OS.MessageBox(0, lpText, lpCaption, OS.MB_OK ) } }
実行方法
C:¥> scala -cp org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;. Hello.scala
実行結果
--------------------------- Hello, World! --------------------------- Hello, Win32 API World! --------------------------- OK ---------------------------
-
Hello, Win32 API(Groovy) World!
Posted on 1月 7th, 2013 by cx20
Win32 API(Groovy)
Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
以下は Groovy にて SWT の非公開 API を使用した Win32 API 呼出しの例となっている。ソースコード
import org.eclipse.swt.internal.win32.OS import org.eclipse.swt.internal.win32.TCHAR class Hello { static void main (args) { def lpText = new TCHAR(0, "Hello, Win32 API World!", true) def lpCaption = new TCHAR(0, "Hello, World", true) OS.MessageBox(0, lpText, lpCaption, OS.MB_OK ) } }
コンパイル&実行方法
C:¥> groovy -cp org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;. Hello.groovy
実行結果
--------------------------- Hello, World! --------------------------- Hello, Win32 API World! --------------------------- OK ---------------------------
-
Hello, SWT(Jasmin) World!
Posted on 1月 2nd, 2013 by cx20
SWT(Java)
SWT(Standard Widget Toolkit) は Java で GUI を扱うためのライブラリである。
IBM により AWT や Swing を置き換える目的で作成された。
以下は Jasmin による SWT の使用例となっている。ソースコード
; Produced by NeoJasminVisitor (tinapoc) ; http://tinapoc.sourceforge.net ; The original JasminVisitor is part of the BCEL ; http://jakarta.apache.org/bcel/ ; Sun Dec 02 01:23:19 JST 2012 .bytecode 50.0 .source Hello.java .class public Hello .super java/lang/Object .method public <init>()V .limit stack 1 .limit locals 1 .var 0 is this LHello; from Label0 to Label1 Label0: .line 5 0: aload_0 1: invokespecial java/lang/Object/<init>()V Label1: 4: return .end method .method public static main([Ljava/lang/String;)V .limit stack 4 .limit locals 5 .var 0 is arg0 [Ljava/lang/String; from Label3 to Label4 Label3: .line 7 0: new org/eclipse/swt/widgets/Display 3: dup 4: invokespecial org/eclipse/swt/widgets/Display/<init>()V 7: astore_1 .line 8 8: new org/eclipse/swt/widgets/Shell 11: dup 12: aload_1 13: invokespecial org/eclipse/swt/widgets/Shell/<init>(Lorg/eclipse/swt/widgets/Display;)V 16: astore_2 .line 9 17: aload_2 18: ldc "Hello, World" 20: invokevirtual org/eclipse/swt/widgets/Shell/setText(Ljava/lang/String;)V .line 12 23: new org/eclipse/swt/layout/FillLayout 26: dup 27: sipush 512 30: invokespecial org/eclipse/swt/layout/FillLayout/<init>(I)V 33: astore_3 .line 13 34: aload_2 35: aload_3 36: invokevirtual org/eclipse/swt/widgets/Shell/setLayout(Lorg/eclipse/swt/widgets/Layout;)V .line 15 39: new org/eclipse/swt/widgets/Label 42: dup 43: aload_2 44: sipush 2048 47: invokespecial org/eclipse/swt/widgets/Label/<init>(Lorg/eclipse/swt/widgets/Composite;I)V 50: astore 4 .line 16 52: aload 4 54: ldc "Hello, SWT World!" 56: invokevirtual org/eclipse/swt/widgets/Label/setText(Ljava/lang/String;)V .line 18 59: aload_2 60: sipush 640 63: sipush 480 66: invokevirtual org/eclipse/swt/widgets/Shell/setSize(II)V .line 19 69: aload_2 70: invokevirtual org/eclipse/swt/widgets/Shell/open()V Label1: .line 21 73: aload_2 74: invokevirtual org/eclipse/swt/widgets/Shell/isDisposed()Z 77: ifne Label0 .line 22 80: aload_1 81: invokevirtual org/eclipse/swt/widgets/Display/readAndDispatch()Z 84: ifne Label1 .line 23 87: aload_1 88: invokevirtual org/eclipse/swt/widgets/Display/sleep()Z 91: pop 92: goto Label1 Label0: .line 27 95: aload_1 96: invokevirtual org/eclipse/swt/widgets/Display/dispose()V Label4: .line 28 99: return .end method
コンパイル&実行方法
C:¥> java -jar jasmin.jar Hello.j C:¥> javaw -cp org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;. Hello
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, SWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, SWT(Fantom) World!
Posted on 12月 27th, 2012 by cx20
SWT(Fantom)
SWT(Standard Widget Toolkit) は Java で GUI を扱うためのライブラリである。
IBM により AWT や Swing を置き換える目的で作成された。
以下は Fantom による SWT の使用例となっている。ソースコード
using [java] org.eclipse.swt using [java] org.eclipse.swt.widgets::Display using [java] org.eclipse.swt.widgets::Shell using [java] org.eclipse.swt.widgets::Label using [java] org.eclipse.swt.layout::FillLayout using concurrent class Hello { Void main() { display := Display() shell := Shell(display) shell.setText("Hello, World") layout := FillLayout(SWT.VERTICAL) shell.setLayout(layout) label := Label(shell,SWT.BORDER) label.setText("Hello, SWT World!") shell.setSize( 640, 480 ) shell.open() while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep() } } display.dispose() } }
実行方法
C:¥> fan hello.fan
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, SWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, SWT(Rhino) World!
Posted on 12月 21st, 2012 by cx20
SWT(Rhino)
SWT(Standard Widget Toolkit) は Java で GUI を扱うためのライブラリである。
IBM により AWT や Swing を置き換える目的で作成された。
以下は Rhino による SWT の使用例となっている。ソースコード
importPackage(org.eclipse.swt); importPackage(org.eclipse.swt.widgets); importPackage(org.eclipse.swt.layout); var display = new Display(); var shell = new Shell(display); shell.setText("Hello, World"); var layout = new FillLayout(SWT.VERTICAL); shell.setLayout(layout); var label = new Label(shell,SWT.BORDER); label.setText("Hello, SWT World!"); shell.setSize( 640, 480 ); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose();
実行方法
C:¥> jrunscript -cp org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;. hello.js
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, SWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, SWT(Tcl/Java) World!
Posted on 12月 15th, 2012 by cx20
SWT(Tcl/Java)
SWT(Standard Widget Toolkit) は Java で GUI を扱うためのライブラリである。
IBM により AWT や Swing を置き換える目的で作成された。
以下は Tcl/Java による SWT の使用例となっている。ソースコード
package require java java::import org.eclipse.swt.SWT java::import org.eclipse.swt.widgets.Display java::import org.eclipse.swt.widgets.Shell java::import org.eclipse.swt.widgets.Label java::import org.eclipse.swt.layout.FillLayout set display [java::new Display] set shell [java::new Shell $display] $shell setText "Hello, World" set layout [java::new FillLayout [java::field SWT VERTICAL]] $shell setLayout $layout set label [java::new Label $shell [java::field SWT BORDER]] $label setText "Hello, SWT World!" $shell setSize 640 480 $shell open while { ![$shell isDisposed] } { if { ![$display readAndDispatch] } { $display sleep } } $display dispose
実行方法
C:¥> SET CLASSPATH=bsh-2.0b4.jar;org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;%CLASSPATH% C:¥> jaclsh hello.bsh
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, SWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+