何が変わった
Agenda  Position の変化  JavaFX 1.x     JavaFX 2.0  How to Write  Conclusion
Position の変化      JavaFXJava SE        Java ME
Position の変化JavaFX 1.xJavaFX Script
Position の変化JavaFX 2.0   Java
JDK/JRE                 AWT Swing           Java 2DJava                   JAI/ImageIO              JOGL                   ...
JDK/JRE                 AWT Swing           Java 2DJava                  JAI/ImageIO              JOGL                    ...
JDK/JRE       AWT Swing                    JavaFX 3.0            Java 2D                JavaSE8Java                      J...
Java ME                Java SEJavaCard    CLDC     CDC   SE Embedded   SE
Java ME                 Java SE                         CDCJavaCard    CLDC     SE Embedded        SE                     ...
何が変わった  インスタンシエーション     Scene Graph追加された機能          削除された機能
Stage                        Scene                       VBox                       HBox                       TableViewSt...
public class Hello extends Application {    @OverrideScene Graph の構築    public void start(Stage stage) {        // コンテナ   ...
Java public void start(Stage stage) {     stage.setTitle("Custom Browser");     VBox vbox = new VBox(10);     vbox.setLayo...
<VBox xmlns:fx="http://javafx.com/fxml"                    fx:controller="contents.browser2"                    spacing="1...
WebView/WebEnginePreloaderProduction SuiteREST/JSON Perser
App               DesignEffecttceffE
WebView/WebEngine
WebView/WebEngine
Animation            自動補完
Animation
Animation            自動補完
Animation            自動補完
EffectNode image = ...;                         Node image = ...;GaussianBlur blur = new GaussianBlur();   DropShadow shdw...
CSS                 Scene scene = new Scene(container, 400, 100);                 // スタイルシートの設定                 scene.getS...
CSS                 Scene scene = new Scene(container, 400, 100);                 // スタイルシートの設定                 scene.getS...
MediaMedia media = new Media(url);MediaPlayer player = new MediaPlayer(media);MediaView view = new MediaView(player);playe...
Bind   View         Observer Pattern                          Model                     Event       Controller
Bind   View                                   Model                 Bind       Controller          // モデル          DoubleP...
Conclusion    JavaFX 2.0 Java の GUI ライブラリ JavaSE 8    JavaFX 3.0 を含む               OpenJFX FXML          Media        HTML...
何が変わった
Upcoming SlideShare
Loading in …5
×

何が変わった JavaFX 2.0

3,839 views

Published on

Japan JavaFX User Group Seminar on 10 Dec. 2011.

Published in: Technology, Art & Photos
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,839
On SlideShare
0
From Embeds
0
Number of Embeds
931
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

何が変わった JavaFX 2.0

  1. 1. 何が変わった
  2. 2. Agenda Position の変化 JavaFX 1.x JavaFX 2.0 How to Write Conclusion
  3. 3. Position の変化 JavaFXJava SE Java ME
  4. 4. Position の変化JavaFX 1.xJavaFX Script
  5. 5. Position の変化JavaFX 2.0 Java
  6. 6. JDK/JRE AWT Swing Java 2DJava JAI/ImageIO JOGL SwingX Java 3D JMF SWTNon-Java JavaFX
  7. 7. JDK/JRE AWT Swing Java 2DJava JAI/ImageIO JOGL SwingX Java 3D JMF JavaFX 2.0 SWTNon-Java
  8. 8. JDK/JRE AWT Swing JavaFX 3.0 Java 2D JavaSE8Java JAI/ImageIO JOGL SwingX Java 3D JMF 2.0 SWTNon-Java
  9. 9. Java ME Java SEJavaCard CLDC CDC SE Embedded SE
  10. 10. Java ME Java SE CDCJavaCard CLDC SE Embedded SE JavaFX
  11. 11. 何が変わった インスタンシエーション Scene Graph追加された機能 削除された機能
  12. 12. Stage Scene VBox HBox TableViewStage Scene VBox HBox Label TextBox Button TableView
  13. 13. public class Hello extends Application { @OverrideScene Graph の構築 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(args); }}
  14. 14. Java public void start(Stage stage) { stage.setTitle("Custom Browser"); VBox vbox = new VBox(10); vbox.setLayoutY(10); Scene scene = new Scene(vbox, 800, 600); HBox hbox = new HBox(10); hbox.setAlignment(Pos.CENTER); TextField field = new TextField(); field.setPrefWidth(400); hbox.getChildren().add(field); Button button = new Button("Load"); hbox.getChildren().add(button); vbox.getChildren().add(hbox); WebView view = new WebView(); vbox.getChildren().add(view); stage.setScene(scene); stage.show(); }
  15. 15. <VBox xmlns:fx="http://javafx.com/fxml" fx:controller="contents.browser2" spacing="10" layoutY="10"> <children> <HBox spacing="10" style="-fx-alignment: center">Java + FXML <children> <TextField fx:id="field" prefWidth="200" onAction="#handleAction" /> <Button text="Load" onAction="#handleAction" /> </children> </HBox> <WebView fx:id="view" /> </children> </VBox> public class browser2 { @FXML private TextField field; @FXML private WebView view; private WebEngine engine; @FXML private void handleAction(ActionEvent event) { String url = field.getText(); engine.load(url); } }
  16. 16. WebView/WebEnginePreloaderProduction SuiteREST/JSON Perser
  17. 17. App DesignEffecttceffE
  18. 18. WebView/WebEngine
  19. 19. WebView/WebEngine
  20. 20. Animation 自動補完
  21. 21. Animation
  22. 22. Animation 自動補完
  23. 23. Animation 自動補完
  24. 24. EffectNode image = ...; Node image = ...;GaussianBlur blur = new GaussianBlur(); DropShadow shdw= new DropShadow();blur.setRadius(10.0); shdw.setOffsetX(5); shdw.setOffsetY(5);image.setEffect(blur); image.setEffect(shdw);Node image = ...; Node image = ...;image.setEffect(new Reflection()); image.setEffect(new SepiaTone());
  25. 25. CSS Scene scene = new Scene(container, 400, 100); // スタイルシートの設定 scene.getStylesheets().add("/style.css");.button { .button { -fx-font: 24pt "SansSerif"; -fx-font: 16pt "SansSerif"; -fx-text-fill: #006666; -fx-text-fill: #00FF33; -fx-background-color: orange; -fx-background-color: #0066FF; -fx-border-radius: 20; -fx-border-radius: 0; -fx-background-radius: 20; -fx-background-radius: 0; -fx-padding: 5; -fx-padding: 20;} }
  26. 26. CSS Scene scene = new Scene(container, 400, 100); // スタイルシートの設定 scene.getStylesheets().add("/style.css");.button { .button { -fx-font: 24pt "SansSerif"; -fx-font: 16pt "SansSerif"; -fx-text-fill: #006666; -fx-text-fill: #00FF33; -fx-background-color: orange; -fx-background-color: #0066FF; -fx-border-radius: 20; -fx-border-radius: 0; -fx-background-radius: 20; -fx-background-radius: 0; -fx-padding: 5; -fx-padding: 20;} }
  27. 27. MediaMedia media = new Media(url);MediaPlayer player = new MediaPlayer(media);MediaView view = new MediaView(player);player.play();
  28. 28. Bind View Observer Pattern Model Event Controller
  29. 29. Bind 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);
  30. 30. Conclusion JavaFX 2.0 Java の GUI ライブラリ JavaSE 8 JavaFX 3.0 を含む OpenJFX FXML Media HTMLAnimation Tool Effect N etBeans 7.1 uilder CSS Scene B Bind デザイナ向けツールが ...
  31. 31. 何が変わった

×