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

不在TableView中显示的列-java

赫连智
2023-03-14

我试图编写一个程序,使用TableView在javafx gui中显示数据库中表的内容。我有一个通用gui,其中有一个空的TableView。在确定要显示的表之后,应用程序将表名发送给中间件,中间件从数据库中获取所有列名,并将其BACC发送给应用程序。然后循环所有列名,生成一个新的TableColumn并将其添加到TableView中,并调用TableView的refresh()方法。使用table.getChidlren();我可以看到这些列成功地添加到了TableView,但是它们并没有显示在JavaFX GUI中。它只是一直显示“表中无列”。所有的fx:ids和controller类也都是正确的。

下面是我的代码:

public void loadTableContent(){
    try (Socket client = new Socket(InetAddress.getLocalHost(), 667);
         ObjectOutputStream oos = new ObjectOutputStream(client.getOutputStream());
         ObjectInputStream ois = new ObjectInputStream(client.getInputStream())) {

        System.out.println("Sending request");
        oos.writeUTF(databaseTableComboBox.getSelectionModel().getSelectedItem().toString());
        oos.flush();

        System.out.println("reading from sever");
        String[] columnNames =  ois.readUTF().split(";");

        System.out.println("Column names received");

        for (String s: columnNames)
            table.getColumns().add(new TableColumn(s));

        table.refresh();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

共有1个答案

王建华
2023-03-14

我弄明白问题出在哪里了。我在SceneBuilder中添加了TableView,但是我在代码中调用了table=new TableView();,这只是从SceneBuilder中删除了TableView。谢谢大家的帮助。

 类似资料:
  • 我正在尝试从一个数据集创建一个TableView,该数据集由一个具有字符串值的双嵌套ArrayList组成。遗憾的是,我无法在TableView中显示所有值。行没有根据数据集进行编号。 internet的大多数解决方案都表明,我应该使用特定的对象实例。然而,我不是这样工作的。相反,我使用大小不确定的字符串矩阵。数据结构如下: 我最好的(但错误的)结果是通过以下代码实现的: 结果如下: 但是,该表不

  • 问题内容: 我正在尝试填写从GET请求中收到的一些数据。我不知道为什么,但是如果在我的中,我返回一个特定的值(例如8),它表示信息。如果y返回请求填充的数组的值,则不添加任何行: 知道为什么会这样吗?非常感谢你!! 更新! 我解决了这个问题,在loadUserData()函数内的complete()之后添加了self.tableView.reloadData()。希望能帮助到你! 问题答案: 快速

  • 我试图在TableView中插入一些值,但它不显示列中的文本,尽管这些列不是空的,因为有三行(与我在TableView中插入的条目数量相同)可单击。 我有一个类“ClientIController”,它是fxml文件的控制器,这些是TableView和TableView的列的声明。 我在initialize()方法中调用了一个名为loadTable()的函数,该函数将内容添加到TableView中

  • 我刚启动JavaFx,有点拘泥于TableView,它显示了每个列的非常长的字符串表示,如: 而我预计细胞中只会出现“大”、“5000”、“3000”。 这是我的模型: fxml: 最后是控制器: 看起来控制器很好,它能够从数据库中获取值并向TableView添加行,但为什么TableView显示属性对象的字符串表示,而不仅仅是显示值? 非常感谢!

  • 我有一个class,它在其他属性中包含一个可观察列表 如何让JavaFX提取class

  • 下面是FXML代码- 我尝试与数据库连接,并尝试将数据从数据库显示到TableView。我尝试将这些东西实现到控制器类中,如下所示- 问题是,它显示行错误。我不知道这个错误的原因。如果我将一行编辑为,则不会显示行的任何错误。然后应用程序运行良好。但是,当我单击Show TableWiew按钮时,它不会将数据显示到TableView中,而是将数据显示到控制台中。 我应该忽略这些错误吗?我如何解决我的