-
[PR]
2024. 11. 21(木) 18:49
×[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
-
JavaFXにおけるレイアウトペイン
2016. 08. 14(日) 19:28
JavaFXにおけるレイアウトペインについて、Paneという名の付くクラスを一通り試してみました。
・Pane :ただのペイン ・AnchorPane :上下左右の4つに分かれて配置する ・BorderPane :上下左右+中央の5つに分かれて配置する ・DialogPane :ダイアログ用 ・GridPane :格子状に間隔を指定して配置する ・FlowPane :上から下に配置する ・ScrollPane :スクロールバーを使用できる ・SplitPane :画面分割 ・StackPane :下から上に配置する ・TabPane :タブ表示 ・TilePane :タイル状に等間隔で並べる
一応ソースコードも付けておりますが、初めて使ったクラスもあるので参考程度にしてください。
どんなレイアウトなのか確認できる一覧が欲しかったので、とりあえず下記にまとめておこうと思います。
-
FXMLを使う理由
2016. 07. 28(木) 00:05
Javaで記述した場合とFXMLで記述した場合を比較してみます。
FXMLならレイアウトを配置する上でのコード階層がわかりやすくなるのです。
メニューバー
┣メニュー1
┣メニュー2
┃ ┗メニューアイテム2_1
┗メニュー3
これをそれぞれのコードで書き比べると下記のようになります。
JavaFXの場合class MenuLayout{ public static void main(String args[]){ MenuBar menubar = new MenuBar(); Menu menu1 = new Menu("メニュー1"); Menu menu2 = new Menu("メニュー2"); MenuItem menu2_1 = new MenuItem("メニューアイテム2_1"); Menu menu3 = new Menu("メニュー3"); menu2.getItems().addAll(menu2_1); menubar.getMenus().addAll(menu1,menu2,menu3); } }
FXMLの場合<VBox> <children> <MenuBar> <menus> <Menu text="メニュー1"/> <Menu text="メニュー2"> <items> <MenuItem text="メニューアイテム2_1"/> </items> </Menu> <Menu text="メニュー3"/> </menus> </MenuBar> </children> </VBox>
Javaのみでつらつらと書き続けているとゴチャゴチャしてきて、後から見た時にコードを読むのがストレスになることがあるのですが、
FXMLではメニューバーに付随するメニュー1...
メニュー2に付随するメニューアイテム2_1...
というようにパッと見で分かりやすくなっており、スラスラと読み易いコードになります。
また、JavaからFXMLを読み込むことで、メインの構造体とウィンドウレイアウトの構造体を分離させることができるというのも大きな強みです。
-
JavaFXを書いていきたい
2016. 07. 24(日) 13:49
JavaFXは2007年に公開されたらしいのですが
SceneBuilderなんて便利なものがあるせいで直接コードを手で打ち込む人は少ない気がします。
SceneBuilderだとなんかプログラミングしてる感が無いので
カタカタとキーボードを鳴らしてコードを書いていきたいと思います(非効率とか気にしない)
ところが、検索してもJavaFXについての参考資料があまり見当たらない。
なので覚えたことを忘れてしまわないよう備忘録としてこのブログに書き綴っていきたいと思います。
・JavaFX・・・Java言語
・FXML・・・・Java用のExtensibleMarkupLanguage(XML)
・CSS・・・・CustomStyleSheet(CSS)。ウェブ用のCSSとは少し違う
基本的には上記3つの言語を織り交ぜて書くことができるのですが、
細かく設定できる半面、覚えることが多くて難しい。