2012-12-30 61 views
4

如何從FXML設置TableView的調整大小策略?我厭倦了這樣的方式,但它不工作:FXML設置TableView列調整大小策略

<TableView layoutX="20.0" layoutY="20.0" prefWidth="674.0" prefHeight="668.0" fx:id="tableView" fx:constant="CONSTRAINED_RESIZE_POLICY"> 
    <columns> 
     <TableColumn text="First Name" /> 
     <TableColumn text="Last Name" /> 
     <TableColumn text="Email Address" /> 
    </columns>  
</TableView> 

回答

9

要設置使用FXML的tableview columnresize政策,你必須使用<columnResizePolicy>標籤。這將在JavaFX的2.2和以後工作..

<TableView> 
    <columnResizePolicy><TableView fx:constant="CONSTRAINED_RESIZE_POLICY"/></columnResizePolicy> 
</TableView> 

參考:

Defining TableView columnResizePolicy property with fxml

+0

由於它的作品!這是一個該死的「interresting」語法。我明白他們爲什麼這麼用,但很好,這很醜陋。但工程... :) –

+0

如果我使用標籤,如你所建議我在我的FXML編輯器中收到錯誤消息「無法強制javafx.scene.control.TableView到javafx.util.Callback」。任何提示? – mwalter

+0

這似乎只能防止現在設置列prefWidths,並不阻止用戶調整大小 –