当前位置: 首页 > 面试题库 >

如何在JavaFX中使用字符串Arraylist填充TableView

蓝慈
2023-03-14
问题内容

我想填充TableViewString, String 我只有两列。我做不到 到目前为止,我尝试过的是:

ObservableList<String> data = FXCollections.observableArrayList();
for (blabla){
data.addAll(Id,Name);
}
tableView.getItems().addAll(data);

桌上什么也没显示。但是当我进行tableView.getItems()打印时,我看到的是我添加的数据。但是在桌子上什么也没显示。

我创建列如下:

TableColumn idColumn = new TableColumn("Id");

TableColumn nameColumn = new TableColumn("Name");

我在Internet上看到了一些示例,这些示例中创建了一个对象来填充对象,TableView但我不想仅为表视图创建类。还有其他可行的方法吗?

编辑:

我只想拥有这样的东西:

ObservableList<String,String> data = FXCollections.observableArrayList();

for(int i = 1; i<blabla i++){
data.add((i)+"S",myList.get(i));
}

问题答案:

首先,您必须在FXML文件或代码中创建table’c列。之后,您必须创建单元格值工厂,该工厂将使用数据生成列。

例如:

@FXML
private TableView<String> tableView;

@FXML
private TableColumn<String, String> columnOne;

@FXML
private TableColumn<String, String> columnTwo;

columnOne.setCellValueFactory(c -> new SimpleStringProperty(new String("123")));

columnTwo.setCellValueFactory(c -> new SimpleStringProperty(new String("456")));

没有FXML:

private TableView<String> table = new TableView<String>();

TableColumn columnOne = new TableColumn("One");
TableColumn columnTwo = new TableColumn("Two");

table.getColumns().addAll(columnOne, columnTwo);

columnOne.setCellValueFactory(c -> new SimpleStringProperty(new String("123")));
columnTwo.setCellValueFactory(c -> new SimpleStringProperty(new String("456")));

table.getItems().addAll("Column one's data", "Column two's data");


 类似资料:
  • 问题内容: 有一些简单的方法可以在Java中填充字符串吗? 似乎应该在类似StringUtil的API中使用某些东西,但是我找不到能做到这一点的任何东西。 问题答案: 有几种方法:leftPad,[rightPad](https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/Str

  • 假设我有一个整数数组,如和一个简单的字符串,如。我如何循环通过数组和填充每一个值。假设是这样的: 输出: 到目前为止,我已经尝试了以下内容: 但是,它在print语句中给出了。解决这个问题最好的方法是什么?

  • 我正在创建一个JavaFX8应用程序,并且在一个组合框中(我实际上使用了JFoenix JavaFX Material Design库中等效的JavaFX控件),我希望用字符串值填充它的项,但是我希望这些值来自我已经创建的资源包。当我在场景生成器中预览FXML文档时,在场景生成器预览器中不会出现对组合框所需的更改。下面是FXML代码。 我指出这些值应该来自资源包,但它们不是从资源包加载的。下面是预

  • 我的Java程序产生了很多数据,我用它构建了单个的ResultObject。因为只有某些结果对象会引起兴趣,所以我填充了一个可观察的HashMap 虽然映射和处理这些结果按预期工作,但我很难用该ObservableHashMap填充TableView 我的CustomObject(如果两个CustomObject具有相同的属性,只需检查JSONObject): 我的ObservableHashMa

  • 我正在创建一个战舰游戏应用程序来学习OOP,Java。我想显示一个“空海”供玩家参考放置他们的舰队。下面是我的游戏板课的开始: 我把这叫做主要的:

  • 我有一个简单的JavaFX类,对于这个问题,它的结构是这样的。 BorderPane包含包含FlowPane的StackPane。 几天来,我一直试图让StackPane填充其父级BorderPane,但似乎没有任何效果。最终结果应该是StackPane的背景设置为“红色”。 代码: 我的应用程序正在运行的照片 所以基本上这个左侧区域应该完全填充我的BorderPane的左侧,因此背景应该正确覆盖