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

JavaFX.用TableView绑定不可观察值列表[副本]

秦宜修
2023-03-14

我编写的应用程序使用tableView表示和编辑数据列表。

我有数据模型。类似于

public class CModel 
{
    private List<CItem> m_lstItems;

    public List<CItem> getList()
    {
        return m_lstItems;
    }

}

public class CItem 
{

    private String m_sName;
    private String m_sType;

    public void setName(String s)
    {
        m_sName = s;
    }

    public String getName()
    {
        return new String(m_sName);
    }

}

如何用可观察的包装每个列表项,或者最佳方法是什么?

共有1个答案

从智明
2023-03-14

对于每一列,创建一个CellValueFactory,它将POJO属性包装在JavaFX属性中。下面的示例对一个虚构的Person对象执行此操作,该对象具有名为name的字符串属性:

TableColumn<Person, String> nameColumn = new TableColumn<>("Name");
nameColumn.setCellValueFactory(param -> new SimpleStringProperty(param.getValue().getName()));
 类似资料:
  • 我正在用一个库编程,我不知道代码,只知道方法,我不能修改它。我试着制作一个“航班”的表格视图,但我不知道如何为每个航班命名(或ID)。有人能帮我吗?谢谢此处有一些代码:

  • 我正在尝试用来自可观察列表的数据填充TableView。我以前做过这个,但由于某种原因我现在无法让它工作。我没有得到任何异常或任何东西,但它根本不会向表添加任何东西。 这个问题很相似,但我发现了JPA引起的另一个问题,这使得提到的的构造函数永远不会执行。相反,JPA会神奇地分配值。 这是我的代码-我剪下了与问题无关的代码: FXML 主要的Java语言 修改Java语言 任何帮助解决这个问题将不胜

  • 我试图从数据(ObservableList)中填充tableview2(fx:id tableview)行。但当它完成时,tableview2只显示空记录。在控制台中,我看到数据中的所有行(ObservableList)。我知道stackoverflow中有很多关于这方面的问题,很抱歉(还有我的英语),但请你问我代码中的错误在哪里?感谢您的帮助或关注)。 更新(添加MainPayer.java和更

  • 我需要一个通过observatelist填充的组合框,其中包含从DB检索的特定数据。这是我的消息来源。 模型 查看 ComboBox由NAME字段填充,listener用于获取相对ID并将其传递给查询,以便在DB上存储数据。 好的,一切似乎都正常,但我有两个问题: > 当用户需要修改此记录时,我需要从DB获取ID并在ComboBox中选择相对名称。我该怎么做? comboBank.set值; 有没

  • 有没有办法将ArrayList转换为ObservableList?我想在不遍历ArrayList的情况下完成它。 更具体地说,我使用ORMLite从数据库中获取数据,我需要作为从DB获取数据的方法的输出。 目前我正在做这样的事情: 我想这样做:

  • 我是FX新手,对Java不太陌生,所以请耐心等待!我有一个简单的应用程序,它使用一个由ObservableList支持的JavaFX TableView。 当我第一次启动应用程序时,我生成了另一个Thread(从Application的start方法)来监听对日志文件的更改并将另一个元素添加到观察列表中,以便在TableView中立即可见该行。我认为在窗口中有一个包含当前大小的Label会很有好处