问题 我想在运行时将通过javafx场景构建器构建的自定义面板添加到网格窗格.我自定义的面板存在按钮,标签等.
我的尝试 我试图从窗格扩展...
public class Celli extends Pane{
public Celli() throws IOException{
Parent root = FXMLLoader.load(getClass().getResource("Cell.fxml"));
this.getChildren().add(root);
}
}
Run Code Online (Sandbox Code Playgroud)
...然后在控制器的添加方法中使用此面板
@FXML
private void textChange(KeyEvent event) {
GridPane g = new GridPane();
for (int i=0 : i<100; i++){
g.getChildren().add(new Celli());
}
}
}
Run Code Online (Sandbox Code Playgroud)
它有效,但表现非常差.
我正在寻找的 是有没有办法通过javafx场景构建器设计面板(因此在fxml中有这个面板),然后在运行时将它添加到gridpane而不为每个实例使用这个fxmlloader.我认为它因fxml加载器而表现不佳.当我添加一个标准按钮,例如whitout fxml时,速度要快得多.