JavaFX 2.0 - リッチクライアントのためのUI基盤

21,353 views

Published on

Published in: Technology, Education
  • Be the first to comment

JavaFX 2.0 - リッチクライアントのためのUI基盤

  1. 1. リッチクライアントのための UI 基盤
  2. 2. AgendaWhat is JavaFX 2.0なぜ Java?基本構造Key FeaturesConclusion
  3. 3. JavaFX 2.0 = UI API of Java by Java for Java
  4. 4. JavaFX 2.0 ?
  5. 5. JavaFX Script for Application for Making API
  6. 6. JavaFX for Java Adv. JavaFX の開発スピード パフォーマンス JavaFX を使える言語
  7. 7. JavaFX for Java Dis. 記述量 複雑さ 言語でサポートした機能 宣言 バインド トリガー 関数型 型推論 I18N
  8. 8. 基本構造
  9. 9. public class Hello extends Application { @Override基本構造public void start(Stage stage) { // コンテナ Group container = new Group(); // シーングラフのルート要素を生成し、コンテナを貼る Scene scene = new Scene(container, 100, 20); stage.setScene(scene); // ラベルを生成しコンテナに貼る Label label = new Label("Hello, World!"); container.getChildren().add(label); } stage.show(); stage.setVisible(true); SceneGraph public static void main(String[] args) { Application.launch(Hello.class, null); }}
  10. 10. Stage Scene VBox HBox TableViewStage Scene VBox HBox Label TextBox Button TableView
  11. 11. NodeControl Pane Shape
  12. 12. SceneGraph の表現 構造 手続き宣言的文法 手続き型言語 XML
  13. 13. SceneGraph の表現 <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <FlowPane xmlns:fx="http://javafx.com/fxml">FXML <children> <Label text="Label" /> <TextBox fx:id="textBox" text="TextBox" /> <Button fx:id="button" text="Button" /> </children> </FlowPane>
  14. 14. MVC View Observer Pattern Model Event Controller
  15. 15. MVC View Model Bind Controller
  16. 16. MVC View Model Bind Controller // モデル DoubleProperty xProperty = new DoubleProperty(); Slider slider = new Slider(50, 300, 0); // モデルにスライダの値をバインドさせる xProperty.bind(slider.valueProperty()); Rectangle rect = new Rectangle(50, 10, 50, 30); // 四角の x 座標にモデルをバインドさせる rect.xProperty().bind(xProperty);
  17. 17. Key Features Effect tceffE App Design
  18. 18. Animation
  19. 19. Effect
  20. 20. HTML5 WebView view = new WebView(); WebEngine engine = view.getEngine(); engine.load("http://google.com/");
  21. 21. MediaMedia media = new Media(url);MediaPlayer player = new MediaPlayer(media);MediaView view = new MediaView(player);player.play();
  22. 22. Prismその他にも ... 非同期処理 JSON パーサー Swing との連携
  23. 23. Conclusion JavaFX Script を捨てて ... Desktop に集中JavaFX 1.x + αWebKit 付き 期待の新人 FXML ツール開発が促進 ? リリース Q3 Win Mac Linux
  24. 24. リッチクライアントのための UI 基盤

×