More Related Content Similar to JavaOne2013報告会 JavaFX Update (20) JavaOne2013報告会 JavaFX Update4. こんな感じで実装
public class BrowserViewController {
@FXML
private TextField textFieldUrl;
@FXML
private WebView webViewBrowser;
@FXML
private void handleButtonAction(ActionEvent event) {
String url = textFieldUrl.getText();
webEngine.load(url);
}
}
Javaコード
FXML
<AnchorPane id="AnchorPane”
xmlns:fx="http://javafx.com/fxml”
fx:controller="BrowserViewController">
<children>
<Button fx:id="button" onAction="#handleButtonAction" text="Go" />
<TextField fx:id="textFieldUrl" onAction="#handleButtonAction" />
<WebView fx:id="webViewBrowser" />
</children>
Node
</AnchorPane>
シーン
グラフ
7. 本⽇日のトピック
• JavaFX 8の新機能⼀一巡り
• ⾯面⽩白かったセッションの紹介
– A Tour of the New JavaFX Printing APIs
– Ten Man-Years of JavaFX
• JavaOneを通して⾒見見えたJavaFXの向かう
先
10. Lambda!
これが…
final ToggleGroup themeGroup = new ToggleGroup();
...
themeGroup.selectedToggleProperty()
.addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,
Toggle old, Toggle next) {
if (next == btnModena) {
setUserAgentStylesheet(STYLESHEET_MODENA);
} else {
setUserAgentStylesheet(STYLESHEET_CASPIAN);
}
}
});
11. Lambda!
こうなる!
final ToggleGroup themeGroup = new ToggleGroup();
...
themeGroup.selectedToggleProperty()
.addListener((ov, old, next) -> {
if (next == btnModena) {
setUserAgentStylesheet(STYLESHEET_MODENA);
} else {
setUserAgentStylesheet(STYLESHEET_CASPIAN);
}
}
});
12. Lambda!
このようにも書ける!
final ToggleGroup themeGroup = new ToggleGroup();
...
themeGroup.selectedToggleProperty()
.addListener(this::changeTheme);
void changeTheme(ObservableValue<? extends Toggle> ov,
Toggle old, Toggle next) {
if (next == btnModena) {
setUserAgentStylesheet(STYLESHEET_MODENA);
} else {
setUserAgentStylesheet(STYLESHEET_CASPIAN);
}
}
13. 3Dグラフィック
• JavaFX 2までは限定的にサポート
– 2Dのグラフィックを変形して3Dにする
• JavaFX 8では3Dのシェイプが作れるように
– CameraもNodeになり、シーングラフ上を動か
せるように
OpenJFXで開発し
ている3DViewer*
を使って、Mayaや
3D Studio Maxで
作成したモデルを
取り込み可能に
(*) JDK8のサンプル
に⼊入っています
18. セッション紹介その1
All the Nodes That Are Fit to Print: A Tour
of the New JavaFX Printing APIs
[CON2662]
(JavaFX 印刷APIのツアー)
Jenifer Godinez
Phil Race
31. JavaFX 1で開発、しかし…
• JavaFX 1がEOLに!
• SmartBear社のCTOがOracleにEOL延⻑⾧長
を直訴!→答えは「No.」
• ランタイムの配布を2013/3まで延ばして
もらい…
2013/4にJavaFX 2への移植完了了!
37. その他⾯面⽩白かったセッション
• Architecting Enterprise JavaFX 8
Applications [CON2229]
– Java EEで有名なAdam Bienさんのセッション
– 本格的なJavaFXアプリケーションを開発する際の
アーキテクチャについての考察
• Optimizing JavaFX Applications [CON3141]
– レンダリング処理理の詳細について解説するセッショ
ン
かなりディープな内容なのでJavaFX勉強会
あたりででもお話しできたらと
41. 組み込み機器向けGUI
• Java SE 8 EmbeddedのGUIスタックとし
て採⽤用
– ユースケースとしてはキオスク端末、医療療機
器、多機能プリンタ、ホームゲートウェイ、
監視システムなどなど
• Internet of Things(IoT)をメインター
ゲットとするOracleの⽅方向性に合致
45. 参考資料料
公式ドキュメント http://docs.oracle.com/javafx/
FX Experience http://fxexperience.com/
JavaFX Community
https://www.java.net/community/javafx
OpenJFX Wiki
https://wiki.openjdk.java.net/display/OpenJFX/Main
OTN JavaFX Forum
https://forums.oracle.com/community/developer/english/java/
javafx/javafx_2.0_and_later
ITPro JavaFX 2で始めるGUI開発
http://itpro.nikkeibp.co.jp/article/COLUMN/
20120731/413043/