2017-12-07 6 views
0

メインのfxml境界ペインの中心に追加のfxmlを含めることを試みています。これを行うと、fxmlがインクルードされて中央に表示されますが、fxmlはメインfxmlウィンドウの全幅と高さを占めません。JavaFX - 別のfxmlをメインのfxmlの境界ペインの中心に含めるときの問題

SceneBuilderで、境界線の中心にTableViewを追加すると、それは必要に応じて機能します。私がコードを介してfxmlをインクルードするときだけ、それはしません。

お手数ですが、何が欠けていますか?どんな助けもありがとう!

これは私が必要なものである: enter image description here これは私が得るものです: enter image description here メインFXML:私は追加したい

<?xml version="1.0" encoding="UTF-8"?> 
 

 
<?import javafx.scene.effect.*?> 
 
<?import javafx.geometry.*?> 
 
<?import javafx.scene.control.*?> 
 
<?import java.lang.*?> 
 
<?import javafx.scene.layout.*?> 
 

 
<TabPane fx:id="TabPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1300.0" tabClosingPolicy="UNAVAILABLE" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> 
 
    <tabs> 
 
     <Tab fx:id="lecturersTab" closable="false" text="Lecturers"> 
 
     <content> 
 
      <BorderPane prefHeight="200.0" prefWidth="200.0"> 
 
       <center> 
 
        <TableView prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER"> 
 
        <columns> 
 
         <TableColumn prefWidth="75.0" text="C1" /> 
 
         <TableColumn prefWidth="75.0" text="C2" /> 
 
        </columns> 
 
        </TableView> 
 
       </center> 
 
      </BorderPane> 
 
     </content> 
 
     </Tab> 
 
     <Tab fx:id="membersTab" closable="false" text="Members"> 
 
     <content> 
 
      <BorderPane prefHeight="200.0" prefWidth="200.0"> 
 
     \t <center> 
 
\t \t  \t <fx:include fx:id="memberPage" source="GUImembers.fxml"/> 
 
      \t </center> 
 
      </BorderPane> 
 
     </content> 
 
     </Tab> 
 
    </tabs> 
 
</TabPane>

FXML:

<?xml version="1.0" encoding="UTF-8"?> 
 

 
<?import javafx.scene.control.*?> 
 
<?import java.lang.*?> 
 
<?import javafx.scene.layout.*?> 
 

 

 
<BorderPane fx:id="memberPage" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="700.0" prefWidth="1300.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="GUImembersController"> 
 
    <center> 
 
     <TableView BorderPane.alignment="CENTER"> 
 
     <columns> 
 
      <TableColumn prefWidth="75.0" text="C1" /> 
 
      <TableColumn prefWidth="75.0" text="C2" /> 
 
     </columns> 
 
     </TableView> 
 
    </center> 
 
</BorderPane>

メイン:

import java.io.IOException; 
import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Parent; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 

public class MainClass extends Application 
{ 
public FXMLLoader loader; 

public static void main(String[] args) 
{ 
    launch(args); 
} 

public void start(Stage stage) throws Exception 
{ 
    loader = new FXMLLoader();  
    loader.setLocation(getClass().getResource("FXML/GUImain.fxml")); 
    loader.setController(new GUImainController()); 

    Parent root = loader.load();      
    Scene scene = new Scene(root);  

    stage.setTitle("VIA - Event Management System"); 
    stage.setScene(scene); 
    stage.show();  
} 
} 
+0

誰もいませんか?これは私のクレイジーを運転しています...私が知る限り、あなたが境界レイアウトの中心に置いたものであれば、上部、左、右に何もないので、コンテナの幅と高さを取るべきですおよび底部セクション。なぜ今度は起こっていないのですか? –

答えて

関連する問題