JTable没有在JPanel中显示

时间:2014-03-07 08:32:59

标签: java swing jtable jpanel

我在JTable中显示JPanel时遇到问题。我让用户按下一个按钮,在这个按钮中,表格应该生成表格并放入一个已经存在的面板,现在当我尝试在新的JFrame中打开它时,数据显示完美,但我想要将其显示在JPanel

代码:

   files = c.RequestFile("list"); //gets the data of files
        Object[][] filesArray = new Object[files.size()][1];
        int size = 0;
        for (FileInfo fileInfo : files) {
            filesArray[size][0] = fileInfo.getName();
            size++;
        }

        fileTablePanel.setLayout(new BorderLayout());
        fileTablePanel.add(new JScrollPane(createTable(filesArray))); 

3 个答案:

答案 0 :(得分:4)

您想要考虑使用TableModel。您目前正在尝试将一个JTable替换为另一个JTable。这完全没必要。您应该只操纵TableModel

的数据

您可以在How to use Tables看到更多内容。您可以关注Creating a Table Model

部分

答案 1 :(得分:0)

将新内容添加到面板后,您需要将面板重新绘制到屏幕:

fileTablePanel.revalidate();
fileTablePanel.repaint();

当您弹出一个新的JFrame时它会起作用,因为它是第一次将JFrame绘制到屏幕上。

答案 2 :(得分:0)

您需要像这样重新绘制表格

fileTablePanel.repaint();