我在下面看到这个ArrayList。我希望将ArrayList分为三列,其中一列显示项目的“类别”,例如披萨或汉堡,其中一个会显示名称,例如玛格丽特,还有一个显示价格。此外,我希望每个项目都有一行,所以有12行。我试图将ArrayList的内容输入到GridPane中,但是我无法使它正常工作。
JavascriptExecutor js = (JavascriptExecutor)driver;
String sText = ((JavascriptExecutor) driver).executeScript("return arguments[0].innerHTML;",driver.findElement(By.xpath("//*[@id=\"main\"]/h1"))).toString();
答案 0 :(得分:0)
您不太清楚...但是我想您想将ArrayList信息放入一些表/列中。
您可以使用ObservableList来检查数据中的所有更改:
private ObservableList<MenuItem> menuItems = FXCollections.observableArrayList();
您可以像这样在控制器中设置一些TableView和TableColumns:
@FXML
private TableView<MenuItem> menuTable;
@FXML
private TableColumn<MenuItem, String> nameColumn;
@FXML
private TableColumn<MenuItem, String> priceColumn;
然后,在同一控制器中,在初始化控制器时设置列:
@FXML
private void initialize() {
nameColumn.setCellValueFactory(cellData ->
cellData.getValue().getName());
priceColumn.setCellValueFactory(cellData ->
cellData.getValue().getPrice());
}
然后,在您的主类中,将mainApp设置为该控制器时,可以将列表中的所有项目设置为该表:
public void setMainApp(MainApp mainApp) {
this.mainApp = mainApp;
menuTable.setItems(menuItems);
}
希望这可以为您提供帮助,这里有一个完整的示例: