当前位置: 首页 > 知识库问答 >
问题:

如何用FXML和JavaFX动态填充TableView

乜胜泫
2023-03-14

如何在FXML中定义表,然后使用JavaFX代码在运行时动态填充表?

共有1个答案

贾俊艾
2023-03-14
  • 在fxml文件中定义TableView。有几件事需要注意:
    • 根应该有一个与之关联的控制器类。
    • TableView和TableColumn应该指定fx:id属性。

    定义控制器类。有几件事需要注意:

    @FXML
    private TableView<MyDataModel> myTableView;
    
    @FXML
    private TableColumn<MyDataModel, String> idColumn;
    
    @Override
    public void initialize(URL location, ResourceBundle resources) {
    idColumn.setCellValueFactory(new PropertyValueFactory<MyDataModel, String>"idColumn"));
    
    myTableView.getItems().setAll(getItemsToAdd());
    }
    
    private List<MyDataModel> getItemsToAdd(){
    // this method would fetch the necessary items from database.
    }
    
    private final SimpleStringProperty idColumnProperty = new SimpleStringProperty("");
    
    public MyDataModel(){
    this("");
    }
    
    public MyDataModel(String id){
    setIdColumn(id);    
    }
    
    public String getIdColumn(){
    idColumnProperty.get();
    }
    
    public void setIdColumn(String id){
    idColumnProperty.set(id);
    }
    

 类似资料:
  • 我无法用地图填充TableView 我有一个类,它拥有一个以产品名称为键、以正常价格为值的地图。我创建了一个tableView,其中一列是名称,一个主列是价格,分为两列normal和new,如下所示。 我已经做了这个方法使地图成为一个可观察列表。 这就是我卡住的地方。我不知道如何用这个可观察列表填充每个单元格。我确实知道我必须以某种方式使用“setCellFactory”。有人有什么建议吗?如何制

  • 我需要滚动表来获取使用selenium和java绑定以及chrome驱动程序动态填充的表内容。这是另一个滚动,而不是窗口滚动本身。我能找到的所有可用的解决方案都是针对窗口滚动的。我在这里需要的是滚动桌子。我需要滚动突出显示的那个 我收到以下错误消息 错误消息:没有这样的元素:找不到元素:{“method”:“XPath”,“Selector”:“//*[@class='antiscroll-scr

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

  • 因此,我试图在我的JavaFX应用程序中创建一个自定义节点,它从扩展而来,因此可以自己进行渲染。我一开始只是试着画一个文本“Hello world”在画布上,但可惜它没有出现,即使我可以通过鼠标事件处理程序确认应用程序中是否存在自定义节点。 简而言之,如果我将这个的一个新实例添加到一个

  • 您好,我从javafx开始我的冒险,我使用SceneBuilder制作主题,这是我的XML文件:http://pastebin.com/9fvhREKc控制器: }我的主课呢 }当我开始应用我的主题作品,但列表和图像是空的/

  • 拥有编程语言数组,如:nbsp; 我还有一个用户列表,比如: ; 有没有一种很好的方法用用户的ID填充由语言名称命名的数组? 类似: ;