[英]JavaFX - How to fix 'fx:controller can only be applied to root element'
[英]Setting VBox.vgrow on a child element of <fx:root> in JavaFX 8
我有以下.fxml文件:
<fx:root type="javafx.scene.layout.VBox" xmlns:fx="javafx.com/fxml">
<Pane VBox.vgrow="ALWAYS">
<!-- ... -->
</Pane>
</fx:root>
但是, VBox.vgrow="ALWAYS"
出錯,因為<fx:root ...
不完全是VBox。 我怎么能用FXML(沒有Java)做到這一點?
編輯:我的IDE中的錯誤顯示“此處不允許使用屬性VBox.vgrow”,Java應用程序提供的錯誤是“VBox.vgrow不是有效屬性”。
我忽略了顯示所有導入的.fxml文件(只有javafx.scene.layout.Pane
)。
為了使特定的.fxml文件不出錯(參見編輯),還必須添加導入javafx.scene.layout.VBox
,因為除非導入VBox
否則不能在任何元素上使用VBox.*
。
正確的.fxml文件是:
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<fx:root type="javafx.scene.layout.VBox" xmlns:fx="javafx.com/fxml">
<Pane VBox.vgrow="ALWAYS">
<!-- ... -->
</Pane>
</fx:root>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.