IntelliJ支持自定义控件属性

时间:2018-07-20 18:33:21

标签: java intellij-idea javafx-8 custom-controls

我想创建新的控件,因此我需要对documentation提及的FXML文件使用fx:root。这是带有按钮的简约示例。

<fx:root type="javafx.scene.layout.VBox" xmlns="http://javafx.com/javafx"
            xmlns:fx="http://javafx.com/fxml" minWidth="100" minHeight="20">
    <Button text="${controller.content}" minWidth="100" minHeight="20"/>
</fx:root>


public class MyButton extends VBox {

    public String getContent() {
        return content.get();
    }

    private StringProperty content = new SimpleStringProperty("Hello here");

    public MyButton() throws IOException {
            FXMLLoader loader = new FXMLLoader(getClass().getResource("MyButton.fxml"));
            loader.setController(this);
            loader.setRoot(this);
            loader.load();
    }

}

问题是,IntelliJ不知道将分配给FXML文件的对象的类型,因此尽管程序可以正常工作,但它向我显示了未解析的符号。

enter image description here

有没有办法在IntelliJ中修复它?当使用fx:include(具有fx:controller属性)时,这并不是停顿,但是据我所知,对于自定义控件,我应该使用第一种方法。

0 个答案:

没有答案