1

TOPにメニューバーがあるメインBorderPaneを持つアプリを作成しています。特定のメニュー オプションが選択されたときに、CENTER の内容を変更したいと考えています。ただし、これを行うと、CENTER ペインにロードした AnchorPane のサイズが変更されず、CENTER ペインがいっぱいになりません。好みのサイズを保ちます。USE_COMPUTED_SIZE に設定しようとしましたが、中央ペインを埋めるためにサイズ変更されません。また、AnchorPane のラッパーとして HBOX を追加しようとしました (私は JavaFX UI 設計にかなり慣れていません)。これも機能しませんでした。

<BorderPane id="BorderPane" prefHeight="650.0" prefWidth="980.0" 
    xmlns="http://javafx.com/javafx/8.0.60" 
    xmlns:fx="http://javafx.com/fxml/1"  
    fx:controller="fileinventory.ApplicationFrameController">

<top><MenuBar BorderPane.alignment="CENTER">...</MenuBar></top>
<center><AnchorPane BorderPane.alignment="CENTER" /></center>
</BorderPane>

メイン クラスから次の呼び出しを使用して、CENTER に設定するペインを読み込みます。

public void viewClients() {
    ViewClientsController dlg = 
            new ViewClientsController(this.bundle, this.rootLayout);
}

そして、AnchorPane の実際のコントローラーが CENTER ペインにロードされます。

public class ViewClientsController {

public ViewClientsController(ResourceBundle bundle, BorderPane layout) {
    FXMLLoader fxmlLoader = 
        new FXMLLoader(getClass().getResource("ViewClients.fxml"));
    fxmlLoader.setController(this);
    fxmlLoader.setResources(bundle);

    try {
        layout.setCenter(new AnchorPane((Parent) fxmlLoader.load()));
    } catch (Exception ignore) {}

JavaFX レイアウトについてはよくわかりません。私はどちらかというとバックエンドの人なので、ここで少し途方に暮れています。

4

0 に答える 0