Archive for the ‘Java’ Category
-
Hello, Java 2D(Fantom) World!
Posted on 12月 29th, 2012 by cx20
Java 2D
Java 2D は Java による 2D グラフィックライブラリである。
以下は Fantom による Java 2D の使用例となっている。ソースコード
using [java] java.awt using [java] javax.swing using concurrent class Hello { Void main() { canvas := Canvas() frame := JFrame("Hello, World") { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) add(canvas) setSize(640, 480) setVisible(true) canvas.createBufferStrategy(2) strategy := canvas.getBufferStrategy g2 := (Graphics2D)strategy.getDrawGraphics while(true) { g2.drawString("Hello, Java 2D World!", 0, 16 ) strategy.show Actor.sleep(200ms) } } Actor.sleep(Duration.maxVal) } }
実行方法
C:¥> fan hello.fan
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Java 2D World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, JavaFX(Fantom) World!
Posted on 12月 28th, 2012 by cx20
JavaFX(Jython)
JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。
以下は Fantom による JavaFX の使用例となっている。ディレクトリ構成
%FANTOM_HOME% /lib /java /ext … ライブラリ配置場所 1. %FANTOM_HOME%libjavaetc にライブラリ配置 jfxrt.jar 2. パスの確認 C:¥> fan compilerJava::ClassPath <実行結果> --- ClassPath --- Packages Found: : com.sun.javafx [15] : ClassPath Files: : file:/%FANTOM_HOME%/lib/java/ext/jfxrt.jar
ソースコード
using [java] javafx.application::Application using [java] javafx.stage::Stage using [java] javafx.scene::Scene using [java] javafx.scene.layout::HBox using [java] javafx.scene.control::Label class Hello : Application { Void main(Str[] args) { Application.launch(Hello#->toClass, args) } override Void start(Stage? stage) { hbox := HBox() scene := Scene(hbox, 640.0f, 480.0f) label := Label("Hello, JavaFX World!") hbox.getChildren().add( label ) stage.setScene(scene) stage.setTitle("Hello, World") stage.show() } }
実行方法
C:¥> fan Hello.fan
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, JavaFX 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, Swing(Fantom) World!
Posted on 12月 26th, 2012 by cx20
Swing(Fantom)
Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
以下は Fantom による Swing の使用例となっている。ソースコード
using [java] javax.swing using [java] java.awt.event using concurrent class Hello { Void main() { label := JLabel("Hello, Swing World!") { setVerticalAlignment(JLabel.TOP) } frame := JFrame("Hello, World") { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) getContentPane.add(label) setSize(640, 480) add(label) setVisible(true) } Actor.sleep(Duration.maxVal) } }
実行方法
C:¥> fan Hello.fan
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Swing World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, AWT(Fantom) World!
Posted on 12月 25th, 2012 by cx20
AWT(Fantom)
AWT(Abstract Window Toolkit) は Java で GUI を扱うためのライブラリである。
J2SE 1.2 以降は AWT を拡張した Swing が使われることが多くなっている。
以下は Fantom による AWT の使用例となっている。ソースコード
using [java] java.lang using [java] java.awt using [java] java.awt.event using concurrent class Hello { Void main() { label := Label("Hello, AWT World!") frame := Frame("Hello, World") { addWindowListener( HelloWindowAdapter.make|WindowEvent e| {}) add(label) setSize(640, 480) setLayout(FlowLayout(FlowLayout.LEFT)) setVisible(true) } Actor.sleep(Duration.maxVal) } } class HelloWindowAdapter : WindowAdapter { new make(|WindowEvent| cb) { this.cb = cb } override Void windowClosing(WindowEvent? e) { System.exit(0) } |WindowEvent| cb }
実行方法
C:¥> fan hello.fan
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, AWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Java 3D(Rhino) World!
Posted on 12月 24th, 2012 by cx20
Java 3D(Rhino)
Java 3D は Java による 3D グラフィックライブラリである。
以下は Rhino による Java 3D の使用例となっている。ソースコード
importPackage(java.awt); importPackage(javax.swing); importPackage(javax.media.j3d); importPackage(javax.vecmath); importPackage(com.sun.j3d.utils.universe); var frame = new JFrame(); frame.setTitle("Hello, World"); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setSize(640,480); var canvas3D = createCanvas3D(frame); var scene = createSceneGraph(); connect(canvas3D, scene); frame.setVisible(true); function createCanvas3D( frame ) { frame.getContentPane().setLayout(new BorderLayout()); var config = SimpleUniverse.getPreferredConfiguration(); var canvas3D = new Canvas3D(config); frame.getContentPane().add(canvas3D); return canvas3D; } function createSceneGraph() { var objRoot = new BranchGroup(); var mover = moveTextBack(); var spinner = createSpinner(); var rotator = new RotationInterpolator(new Alpha(-1, 4000), spinner, new Transform3D(), 0.0, Math.PI * 2); rotator.setSchedulingBounds( new BoundingSphere() ); spinner.addChild(rotator); objRoot.addChild(mover); mover.addChild(spinner); spinner.addChild( createTextShape()); setLighting(mover); return objRoot; } function createSpinner() { var spinner = new TransformGroup(); spinner.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); return spinner; } function moveTextBack() { var transform3D = new Transform3D(); transform3D.setTranslation(new Vector3f(0.0, 0.0, -10.0)); return new TransformGroup(transform3D); } function createTextShape() { var textAppear = new Appearance(); textAppear.setMaterial(new Material()); var font3D = new Font3D(new Font("MS Pゴシック", Font.PLAIN, 1), new FontExtrusion()); var textGeom = new Text3D(font3D, new String("Hello, Java 3D World!")); textGeom.setAlignment(Text3D.ALIGN_CENTER); var textShape = new Shape3D(); textShape.setGeometry(textGeom); textShape.setAppearance(textAppear); return textShape; } function setLighting( objMove ) { var light = new DirectionalLight(); light.setInfluencingBounds(new BoundingSphere()); light.setDirection(new Vector3f(0.0,0.0,-1.0)); light.setColor(new Color3f(1.0, 1.0, 1.0)); objMove.addChild(light); } function connect( canvas3D, scene ) { var universe = new SimpleUniverse(canvas3D); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(scene); } while(1) {java.lang.Thread.sleep(1000);}
実行方法
C:¥> jrunscript Hello.js
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Java 3D World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Java 2D(Rhino) World!
Posted on 12月 23rd, 2012 by cx20
Java 2D(Rhino)
Java 2D は Java による 2D グラフィックライブラリである。
以下は Rhino による Java 2D の使用例となっている。ソースコード
importPackage(java.awt); importPackage(javax.swing); var frame = new JFrame(); frame.setTitle("Hello, World"); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setSize(640,480); canvas = new Canvas(); frame.add(canvas); frame.setVisible(true); canvas.createBufferStrategy(2); strategy = canvas.getBufferStrategy(); g2 = strategy.getDrawGraphics(); while(true) { g2.drawString("Hello, Java 2D World!", 0, 16 ); strategy.show(); java.lang.Thread.sleep(200); } while(1) {java.lang.Thread.sleep(1000);}
コンパイル&実行方法
C:¥> jrunscript hello.js
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Java 2D 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, Swing(Rhino) World!
Posted on 12月 20th, 2012 by cx20
Swing(Rhino)
Swing は AWT(Abstract Window Toolkit) を拡張したものであり Java で GUI を扱うためのライブラリである。
J2SE 1.2 以降は AWT よりも Swing が使われることが多くなっている。
以下は Rhino による Swing の使用例となっている。ソースコード
importPackage(javax.swing); var frame = new JFrame(); frame.setTitle("Hello, World"); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setSize(640,480); var label = new JLabel("Hello, AWT World!"); label.setVerticalAlignment(JLabel.TOP); frame.add(label); frame.setVisible(true); while(1) {java.lang.Thread.sleep(1000);}
実行方法
C:¥> jrunscript Hello.js
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Swing World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, AWT(Rhino) World!
Posted on 12月 19th, 2012 by cx20
AWT(Rhino)
AWT(Abstract Window Toolkit) は Java で GUI を扱うためのライブラリである。
J2SE 1.2 以降は AWT を拡張した Swing が使われることが多くなっている。
以下は Rhino による AWT の使用例となっている。ソースコード
importPackage(java.awt); importPackage(java.awt.event); var frame = new Frame(); frame.setTitle("Hello, World"); frame.addWindowListener(function(e, methodName) { if (e.getID() == WindowEvent.WINDOW_CLOSING) { java.lang.System.exit(0); } }); frame.setSize(640,480); frame.setLayout(new FlowLayout(FlowLayout.LEFT)); var label = new Label("Hello, AWT World!"); frame.add(label); frame.setVisible(true); while(1) {java.lang.Thread.sleep(1000);}
実行方法
C:¥> jrunscript hello.js
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, AWT World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+