2017-06-20 9 views
0

私は選択肢のボックスを埋めることを試みていますが、何かが間違っていました。 は、ここに私のコードFXML.fxmlJavaFX8 FXMLコントローラの初期化メソッドが呼び出されない

<?import javafx.scene.control.Button?> 
<?import javafx.scene.control.ChoiceBox?> 
<?import javafx.scene.control.DatePicker?> 
<?import javafx.scene.control.Label?> 
<?import javafx.scene.control.TextField?> 
<?import javafx.scene.layout.AnchorPane?> 
<?import javafx.scene.text.Font?> 

<AnchorPane id="AnchorPane" prefHeight="447.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Orders.BookingController"> 
    <children> 
     <ChoiceBox fx:id="orderType" layoutX="225.0" layoutY="59.0" onContextMenuRequested="#value_Changed" prefWidth="150.0" /> 
     <DatePicker layoutX="116.0" layoutY="118.0" prefHeight="25.0" prefWidth="173.0" /> 
     <ChoiceBox layoutX="387.0" layoutY="118.0" prefHeight="25.0" prefWidth="173.0" /> 
     <ChoiceBox layoutX="119.0" layoutY="188.0" prefHeight="25.0" prefWidth="173.0" /> 
     <ChoiceBox layoutX="387.0" layoutY="188.0" prefHeight="25.0" prefWidth="173.0" /> 
     <TextField layoutX="119.0" layoutY="257.0" prefHeight="25.0" prefWidth="173.0" /> 
     <TextField layoutX="388.0" layoutY="257.0" prefHeight="25.0" prefWidth="173.0" /> 
     <TextField layoutX="119.0" layoutY="325.0" prefHeight="25.0" prefWidth="173.0" /> 
     <Button layoutX="387.0" layoutY="325.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="173.0" text="Add" /> 
     <Label layoutX="30.0" layoutY="122.0" prefHeight="17.0" prefWidth="42.0" text="Date:" /> 
     <Label layoutX="214.0" layoutY="14.0" text="Customer Name" textFill="#2807ff"> 
     <font> 
      <Font size="24.0" /> 
     </font> 
     </Label> 
     <Label layoutX="336.0" layoutY="122.0" prefHeight="17.0" prefWidth="42.0" text="Time:" /> 
     <Label layoutX="22.0" layoutY="193.0" text="Booking Type:" /> 
     <Label layoutX="337.0" layoutY="192.0" text="Dealer:" /> 
     <Label layoutX="31.0" layoutY="329.0" prefHeight="17.0" prefWidth="42.0" text="Price:" /> 
     <Label layoutX="332.0" layoutY="261.0" text="Address:" /> 
     <Label layoutX="27.0" layoutY="261.0" text="Duration:" /> 
    </children> 
</AnchorPane> 

public class BookingController implements Initializable { 

    @FXML 
    private ChoiceBox<String> orderType;  
    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
     orderType=new ChoiceBox<>(); 
     orderType.getItems().add("LabShoot"); 
     orderType.getItems().add("SoftData"); 
     orderType.getItems().add("Booking"); 
    }  
} 

Controller.java

関連パートプログラムが正しく実行されますが、私は選択ボックスに入れる項目は表示されませんです。

答えて

0

それはあなたがフィールドが@FXMLでannoted intializeべきではありませんので、

orderType=new ChoiceBox<>(); 

のです。そうすると、フィールドはFXMLローダー(および表示されているローダー)によってロードされたフィールドを参照しなくなります。

+0

私はそれをしましたが、それと同じ問題です。私はもっ​​と多くを一つクリアしたいと思いますが、私は 'System.out.println(" invoked ");' をinitializeメソッドに入れましたが、印刷もしていません。主な問題は、initializeメソッドが呼び出されないことです。 – Dosti

関連する問題