2014-06-24 18 views
6

Tôi có tập tin FXML này, nơi mà tôi đã cố gắng để cư ComboBox:FXML cảnh xây dựng thuộc tính không hợp lệ sau khi điền ComboBox

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

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

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="650.0" minWidth="750.0" prefHeight="700.0" prefWidth="822.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="table.Table"> 
    <children> 
    <MenuButton fx:id="dateFilter" layoutX="6.0" layoutY="55.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="114.0" text="Date" /> 
    <ComboBox fx:id="descriptionFilter" editable="true" layoutX="226.0" layoutY="55.0" prefHeight="25.0" prefWidth="204.0" promptText="Series Description"> 
     <items> 
      <FXCollections fx:factory="observableArrayList"> 
       <String fx:value="1" /> 
       <String fx:value="20" /> 
       <String fx:value="300" /> 
      </FXCollections> 
     </items> 
    </ComboBox> 
    </children> 
</AnchorPane> 

Nhưng kể từ khi tôi dân cư nó, nó sẽ không mở cửa vào SceneBuilder và nó sẽ hiển thị lỗi này :

Lỗi

java.io.IOException: javafx.fxml.LoadException: Invalid attribute. 
/C:/Users/BTAP/workspace/Tst/src/table/table.fxml:12 

Và nó sẽ không tải ứng dụng của tôi:

Caused by: javafx.fxml.LoadException: FXCollections is not a valid type. 

Note

nếu tôi loại bỏ các fx:factory="observableArrayList" nó tải về xây dựng cảnh và hiển thị một cảnh báo nhưng vẫn không chạy được chương trình của tôi.

Và tôi không hiểu lắm vì nó giống như cách tôi thấy trong nhiều ví dụ example1, example2, example3.

Tại sao tôi gặp phải lỗi này? Nó có nên hoạt động không?

Tôi biết cách điền các phần tử theo mã, nhưng tôi đang tìm giải pháp FXML.

+0

là > = 1 một thuộc tính hợp lệ? –

+0

lỗi trước, trên dòng 12 tức là ''. Và ngay cả khi tôi thay thế các mã html cho một cái gì đó khác nó vẫn sẽ không tải. – Mansueli

Trả lời

12

Bạn cần nhập khẩu đối với các lớp FXCollections:

<?import javafx.collections.FXCollections ?> 
+1

Xin lưu ý rằng bạn cũng cần nhập khẩu ''. (Đã có trong ví dụ này, nhưng đây không phải là vấn đề rõ ràng!) –

Các vấn đề liên quan