无法使用FXML控制JavaFX TitledPane

时间:2015-12-03 13:45:49

标签: java user-interface javafx fxml

我有2个项目; SmallProject,BigProject。 SmallProject是一个独立的java类,BigProject有2个fxml和2个控制器。

在只有一个类的SmallProject中,我可以使用

简单地设置TitledPane的内容
     Image image = new Image("file:flower.png");
     ImageView imgView = new ImageView();
     imgView.setImage(image);

     Group root = new Group();
     Scene scene = new Scene(root);
     scene.setFill(Color.BLACK);

     TitledPane tPane = new TitledPane();
     tPane.setContent(imgView);

但是在我使用fxml文件和控制器的大项目中它并不起作用。我有一个主GUI和第二个GUI,以及两个控制器/ fxml文件。

来自Fxml文件(第二个GUI):

      <TitledPane fx:id="myTPane" animated="false" layoutY="427.0" prefHeight="206.0" prefWidth="264.0" text="My Image"> </TitledPane>

来自Controller类(第二个GUI):

    //This is working!
    String myText = "Some text here"; 
    myTextFieldName.setText(myText);

    // Try 1
    Image imageNEW = new Image("file:flower.png");
    ImageView imgViewNEW = new ImageView();
    imgViewNEW.setImage(imageNEW);
    myTPane = new TitledPane();
    myTPane.setContent(imgViewNEW);

    //Try 2
    Node rootIcon =  new ImageView(new Image("file:flower.png"));
    myTPane = new TitledPane("Title Change Test", rootIcon);

尝试1和2都不起作用(我不单独尝试它们)但我能够设置textflied。我甚至无法更改TitledPane的标题......当我按下按钮或其他东西时我没有任何错误...我想我做了一个小错误但是什么?如果你能提供帮助,我们将很高兴!

1 个答案:

答案 0 :(得分:0)

抱歉...在复制粘贴的内容时,我忘记将@FXML添加到我的TitledPane声明中,现在有效!