Archive for the ‘JavaFX’ Category

  1. Hello, JavaFX(Jasmin) World!

    Posted on 1月 3rd, 2013 by cx20

    JavaFX(Jasmin)

    JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
    類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。
    以下は Jasmin による JavaFX の使用例となっている。

    ソースコード

    ; 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:36:56 JST 2012
     
    .bytecode 51.0
    .source Hello.java
    .class public Hello
    .super javafx/application/Application
     
     
    .method public <init>()V
        .limit stack 1
        .limit locals 1
        .var 0 is this LHello; from Label0 to Label1
     
        Label0:
    .line 7
           0: aload_0
           1: invokespecial javafx/application/Application/<init>()V
     
        Label1:
           4: return
     
    .end method
     
    .method public static main([Ljava/lang/String;)V
        .limit stack 2
        .limit locals 1
        .var 0 is arg0 [Ljava/lang/String; from Label0 to Label1
     
        Label0:
    .line 9
           0: ldc_w Hello
           3: aload_0
           4: invokestatic javafx/application/Application/launch(Ljava/lang/Class;[Ljava/lang/String;)V
     
        Label1:
    .line 10
           7: return
     
    .end method
     
    .method public start(Ljavafx/stage/Stage;)V
        .limit stack 7
        .limit locals 4
        .var 0 is this LHello; from Label0 to Label1
        .var 1 is arg0 Ljavafx/stage/Stage; from Label0 to Label1
     
        Label0:
    .line 14
           0: new javafx/scene/layout/HBox
           3: dup
           4: invokespecial javafx/scene/layout/HBox/<init>()V
           7: astore_2
     
        .line 15
           8: new javafx/scene/Scene
          11: dup
          12: aload_2
          13: ldc2_w 640.0
          16: ldc2_w 480.0
          19: invokespecial javafx/scene/Scene/<init>(Ljavafx/scene/Parent;DD)V
          22: astore_3
     
        .line 16
          23: aload_2
          24: invokevirtual javafx/scene/layout/HBox/getChildren()Ljavafx/collections/ObservableList;
          27: new javafx/scene/control/Label
          30: dup
          31: ldc "Hello, JavaFX World!"
          33: invokespecial javafx/scene/control/Label/<init>(Ljava/lang/String;)V
          36: invokeinterface javafx/collections/ObservableList/add(Ljava/lang/Object;)Z 2
          41: pop
     
        .line 18
          42: aload_1
          43: aload_3
          44: invokevirtual javafx/stage/Stage/setScene(Ljavafx/scene/Scene;)V
     
        .line 19
          47: aload_1
          48: ldc "Hello, World"
          50: invokevirtual javafx/stage/Stage/setTitle(Ljava/lang/String;)V
     
        .line 20
          53: aload_1
          54: invokevirtual javafx/stage/Stage/show()V
     
        Label1:
    .line 21
          57: return
     
    .end method

    コンパイル&実行方法

    C:¥> SET JAVAFX_HOME=C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK
    C:¥> java -jar jasmin.jar Hello.j
    C:¥> javaw -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, JavaFX World!                      |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  2. 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!                      |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  3. Hello, JavaFX(Jython) World!

    Posted on 11月 28th, 2012 by cx20

    JavaFX(Jython)

    JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
    類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。
    以下は Jython による JavaFX の使用例となっている。

    ソースコード

    import sys
    from javafx.application import Application
    from javafx.scene import Group
    from javafx.scene import Scene
    from javafx.scene.layout import HBox
    from javafx.scene.control import Label
    from javafx.util import Callback
     
    class HelloApplication(Application):
        def start(self, stage):
            hbox = HBox()
            scene = Scene( hbox, 640, 480 )
            hbox.getChildren().add( Label( "Hello, JavaFX World!" ) )
            stage.setScene( scene )
            stage.setTitle( "Hello, World" )
            stage.show()
     
    if __name__ == "__main__":
        Application.launch(HelloApplication().class, sys.argv[1:])

    実行方法

    C:¥> SET JAVAFX_HOME=C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK
    C:¥> SET CLASSPATH=%JAVAFX_HOME%\rt\lib\jfxrt.jar;%CLASSPATH%
    C:¥> jython Hello.py

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, JavaFX World!                      |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  4. Hello, JavaFX(JRuby) World!

    Posted on 11月 22nd, 2012 by cx20

    JavaFX(Scala)

    JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
    類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。
    以下は JRuby にて JRubyFX ライブラリを用いた JavaFX の使用例となっている。

    ソースコード

    require 'jrubyfx'
     
    class Hello
      include JRubyFX
     
      def start(stage)
        hbox = HBox.new
        hbox.children << Label.new("Hello, JavaFX World!")
     
        stage.scene = Scene.new(hbox, 640, 480)
        stage.title = "Hello, World"
        stage.show
      end
    end
     
    Hello.start

    実行方法

    C:¥> jruby --1.9 Hello.rb

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, JavaFX World!                      |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  5. Hello, JavaFX(Scala) World!

    Posted on 11月 16th, 2012 by cx20

    JavaFX(Scala)

    JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
    類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。
    以下は Scala による JavaFX の使用例となっている。

    ソースコード

    import javafx.application.Application
    import javafx.stage.Stage
    import javafx.scene.Scene
    import javafx.scene.layout.HBox
    import javafx.scene.control.Label
     
    object Hello {
        def main(args: Array[String]) {
            Application.launch(classOf[HelloApplication], args:_*)
        }
    }
     
    class HelloApplication extends Application {
        def start(stage: Stage) {
            var hbox = new HBox()
            var scene = new Scene(hbox, 640, 480)
            hbox.getChildren().add( new Label("Hello, JavaFX World!") )
     
            stage.setScene(scene)
            stage.setTitle("Hello, World")
            stage.show()
        }
    }

    コンパイル&実行方法

    C:¥> SET JAVAFX_HOME=C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK
    C:¥> scalac -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello.scala
    C:¥> scala -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, JavaFX World!                      |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  6. Hello, JavaFX(Groovy) World!

    Posted on 11月 10th, 2012 by cx20

    JavaFX(Groovy)

    JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
    類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。
    以下は Groovy による JavaFX の使用例となっている。

    ソースコード

    import javafx.application.Application
    import javafx.stage.Stage
    import javafx.scene.Scene
    import javafx.scene.layout.HBox
    import javafx.scene.control.Label
     
    class Hello extends Application {
        static void main(args) {
            Application.launch(Hello, args)
        }
     
        void start(Stage stage) {
            def hbox = new HBox()
            def scene = new Scene(hbox, 640, 480)
            hbox.getChildren().add( new Label("Hello, JavaFX World!") )
     
            stage.setScene(scene);
            stage.setTitle("Hello, World")
            stage.show()
        }
    }

    コンパイル&実行方法

    C:¥> SET JAVAFX_HOME=C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK
    C:¥> groovyw -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello.groovy

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, JavaFX World!                      |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+
  7. Hello, JavaFX(Java) World!

    Posted on 11月 4th, 2012 by cx20

    JavaFX(Java)

    JavaFX は Java による RIA 向けの GUI ライブラリならびにプラットフォームである。
    類似の RIA プラットフォームとしては Adobe Flex や Microsoft Silverlight などがある。

    ソースコード

    import javafx.application.Application;
    import javafx.stage.Stage;
    import javafx.scene.Scene;
    import javafx.scene.layout.HBox;
    import javafx.scene.control.Label;
     
    public class Hello extends Application {
        public static void main(String[] args) {
            Application.launch(Hello.class, args);
        }
     
        @Override
        public void start(Stage stage) {
            HBox hbox = new HBox();
            Scene scene = new Scene(hbox, 640, 480);
            hbox.getChildren().add( new Label("Hello, JavaFX World!") );
     
            stage.setScene(scene);
            stage.setTitle("Hello, World");
            stage.show();
        }
    }

    コンパイル&実行方法

    C:¥> SET JAVAFX_HOME=C:\Program Files (x86)\Oracle\JavaFX 2.0 SDK
    C:¥> javac -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello.java
    C:¥> javaw -cp "%JAVAFX_HOME%\rt\lib\jfxrt.jar;." Hello

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, JavaFX World!                      |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+