2013-08-15 56 views
9

Tôi có FXML sau:JavaFX & FXML: làm cách nào để đặt mục được chọn mặc định trong một ChoiceBox trong FXML?

<ChoiceBox> 
    <items> 
     <FXCollections fx:factory="observableArrayList"> 
      <String fx:value="2 minutes" /> 
      <String fx:value="5 minutes" /> 
      <String fx:value="15 minutes" /> 
     </FXCollections> 
    </items> 
</ChoiceBox> 

Nhưng trong GUI nó chỉ cho thấy một ChoiceBox với một mặc định từ hư không. Tôi muốn phần tử đầu tiên trong danh sách là mặc định, và cho một lựa chọn "null" hoặc không có gì bị cấm.

Làm cách nào để thực hiện việc này?

Trả lời

11

Tôi đã thêm thuộc tính giá trị vào thẻ ChoiceBox và thẻ đó hoạt động.

<ChoiceBox value="2 minutes"> 
    <items> 
     <FXCollections fx:factory="observableArrayList"> 
      <String fx:value="2 minutes" /> 
      <String fx:value="5 minutes" /> 
      <String fx:value="15 minutes" /> 
     </FXCollections> 
    </items> 
</ChoiceBox> 
+0

trong tên tránh giá trị chuỗi mã hóa cứng, có cách nào tôi có thể tham chiếu một trường hoặc phương pháp trên bộ điều khiển để nhận giá trị này không? Tôi không thể sử dụng fx: hằng số bởi vì nó sẽ chỉ tìm kiếm các trường trên lớp String, và tôi không thể (thực sự) sử dụng cú pháp ràng buộc vì điều đó sẽ rời khỏi thuộc tính bị ràng buộc. – Groostav

0

Trước tiên, bạn nên nhập mô hình giá trị cần thiết của bạn, giống như Crowell câu trả lời, bạn nên nhập như thế này trong tiêu đề fxml của bạn:

<?import javafx.collections.*?> 

Thứ hai, nếu bạn muốn import mô hình riêng của bạn, nhập nó đầu tiên và sau đó như thế này:

<?import com.zzg.mybatis.generator.model.*?> 
.... 

<ChoiceBox layoutX="24.0" layoutY="14.0" prefWidth="150.0"> 
     <items> 
      <FXCollections fx:factory="observableArrayList"> 
        <DatabaseDTO name="MySQL" value="1"></DatabaseDTO> 
        <DatabaseDTO name="Oracle" value="2"></DatabaseDTO> 
      </FXCollections> 
     </items> 
</ChoiceBox> 
+0

Điều này không trả lời được câu hỏi nào cả! Câu hỏi đặt ra là cách đặt giá trị mặc định chứ không phải cách nhập và bao gồm các kiểu tùy chỉnh thuộc bất kỳ loại nào. – geisterfurz007