質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Q&A

解決済

1回答

504閲覧

JavaFXでアンカーを設定しても反映されない

junkjunk

総合スコア26

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

0グッド

0クリップ

投稿2019/08/16 08:08

現在SceneBuilderとJavaFXにてアプリのウィンドウを作成中です。
ウィンドウのサイズを変更した際にTableViewやButtonもウィンドウサイズに合わせて変更できるようアンカーの設定を行いましたがプログラムを実行してウィンドウサイズを変更してもTableViewやButtonの配置が変わりません。
唯一TextField(Text1)のみが配置が変わるのですが、コードを確認したところ他のコンテナと差異が無いように見えます。
何か間違っている箇所などわかる方いらっしゃればご教示頂きたいです。

バージョン:JavaFX 8.0.171

コードは以下の通りです。

JavaFX

1<?xml version="1.0" encoding="UTF-8"?> 2 3<?import javafx.scene.control.Button?> 4<?import javafx.scene.control.Label?> 5<?import javafx.scene.control.TableColumn?> 6<?import javafx.scene.control.TableView?> 7<?import javafx.scene.control.TextField?> 8<?import javafx.scene.layout.AnchorPane?> 9<?import javafx.scene.text.Font?> 10 11<AnchorPane xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.OperationController"> 12 <children> 13 <AnchorPane prefHeight="400.0" prefWidth="600.0"> 14 <children> 15 <Label layoutX="14.0" layoutY="14.0" text="Operation History"> 16 <font> 17 <Font size="27.0" /> 18 </font> 19 </Label> 20 <Label layoutX="488.0" layoutY="15.0" text="Logee"> 21 <font> 22 <Font size="26.0" /> 23 </font> 24 </Label> 25 <Button fx:id="Open1" layoutX="393.0" layoutY="71.0" mnemonicParsing="false" onAction="#OpenActionOne" prefHeight="25.0" prefWidth="76.0" text="Open a File" AnchorPane.rightAnchor="150.0" /> 26 <Button fx:id="Open2" layoutX="485.0" layoutY="71.0" mnemonicParsing="false" onAction="#OpenActionMulti" prefHeight="25.0" prefWidth="76.0" text="Open Files" AnchorPane.rightAnchor="39.0" /> 27 <Button fx:id="back" layoutX="14.0" layoutY="361.0" mnemonicParsing="false" onAction="#backButtonAction" text="Back" AnchorPane.bottomAnchor="15.0" AnchorPane.leftAnchor="20.0" /> 28 <Button fx:id="Apply" layoutX="514.0" layoutY="139.0" mnemonicParsing="false" onAction="#ApplyButtonAction" text="Apply" AnchorPane.rightAnchor="39.0" AnchorPane.topAnchor="139.0" /> 29 <TableView fx:id="table" layoutX="36.0" layoutY="178.0" prefHeight="175.0" prefWidth="527.0" AnchorPane.bottomAnchor="47.0" AnchorPane.leftAnchor="36.0" AnchorPane.rightAnchor="37.0" AnchorPane.topAnchor="178.0"> 30 <columns> 31 <TableColumn id="time" fx:id="timeColumn" prefWidth="87.33334350585938" text="Time" /> 32 <TableColumn id="operation" fx:id="operationColumn" prefWidth="322.0" text="Operation History" /> 33 <TableColumn id="log" fx:id="logColumn" prefWidth="116.0" text="Log" /> 34 </columns> 35 </TableView> 36 </children> 37 </AnchorPane> 38 <Label layoutX="35.0" layoutY="75.0" text="File Pass"> 39 <font> 40 <Font size="15.0" /> 41 </font> 42 </Label> 43 <TextField fx:id="text1" layoutX="35.0" layoutY="105.0" prefHeight="25.0" prefWidth="527.0" AnchorPane.rightAnchor="38.0" AnchorPane.topAnchor="105.0" /> 44 </children> 45</AnchorPane> 46

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

AnchorPaneの中にさらにAnchorPaneが入れ子となっており、外側のAnchorPaneに貼った部品が意図通りに動き、内側のAnchorPaneに貼った部品が意図通りに動かない、という状況でしょうか?

AnchorPaneを入れ子にした場合、どのようにレイアウトされるか難しいので、入れ子ではなく一つのAnchorPaneに配置するようにしては如何でしょうか?

投稿2019/08/20 23:44

boochnich

総合スコア194

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

junkjunk

2019/09/05 04:04

反応が遅くなってしまい申し訳ないです。 boochnichさんに指摘頂いた通り、どうやらAncharPaneが入れ子になっていたのが原因でした。 入れ子をやめて1つに直したところAnchorPaneが反映されるようになりました。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問