我正在学习JavaFx并构建一个样例应用程序,它将以可滚动的方式显示餐厅菜单项列表。我想出了使用Controlsfx中的GridView控件的最佳方法,因为即使有大量的菜单项,滚动也会很快。这是我正在尝试使其工作的示例代码:
当我运行上面的代码时,只显示了一个VBox而没有任何项。我尝试复制控件fx网站上提供的有关使用GridView的示例代码(http://controlsfx.bitbucket.org/org/controlsfx/control/GridView.html)。任何帮助/提示将不胜感激。谢谢。
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
VBox root = new VBox();
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
ObservableList<GridPane> list = FXCollections.<GridPane>observableArrayList();
GridView<GridPane> gridView = new GridView<>(list);
gridView.setCellFactory(new Callback<GridView<GridPane>, GridCell<GridPane>>() {
public GridCell<GridPane> call(GridView<GridPane> gridView) {
return new GridCell<GridPane>();
}
});
Label lblName1 = new Label("Name");
GridPane grid = new GridPane();
grid.addRow(0, lblName1);
Label lblName2 = new Label("Price");
grid.addRow(1, lblName2);
list.add(grid);
root.getChildren().add(gridView);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
当我运行上面的代码时,只显示了一个VBox而没有任何项。我尝试复制控件fx网站上提供的有关使用GridView的示例代码(http://controlsfx.bitbucket.org/org/controlsfx/control/GridView.html)。任何帮助/提示将不胜感激。谢谢。