小编blu*_*loo的帖子

将数据添加为参数后,Jtable内容不会刷新

我有一个jtable,如果我将表数据设置为公共变量(不要将它放在tablemodel的参数上),一切正常.但是现在我需要将表数据设置为参数,表格不会刷新其内容.我打印出一些单元格值和行号,它们都更新和正确.只是显示没有改变,仍然是旧的内容.我一直在尝试所有类型的方法来刷新表,包括fireTableDataChanged和repaint,以及其他fire函数,它们都不起作用.请帮忙.非常感谢!!!!!!

表模型是:

       public class MyTableModel extends AbstractTableModel {

           protected String[] columnNames;
           private String[][] data;


            public MyTableModel(String[] columnNames, String[][] data){
                this.columnNames = columnNames;
                this.data = data;
                //I add this here but it still doesn't refresh the table
                fireTableDataChanged();
            }

            public int getColumnCount() {
                return columnNames.length;
            }

            public int getRowCount() {
                return data.length;
            }

            public String getColumnName(int col) {
                return columnNames[col];
            }

            public String getValueAt(int row, int col) {
                return data[row][col];                  
            }

           public void setData(String[][] newdata) {   
              data = newdata;

              fireTableDataChanged();   
              } …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

3
推荐指数
1
解决办法
9170
查看次数

JScrollPane布局

我想将table2添加到已经有table1的scrollpanel(称为feedback)中.但只有一张桌子出现了.如果我使用feedback.add(table2),只有第一个表显示(我猜第二个表位于第一个表后面,但我不知道如何使第二个表位于第一个表之后).如果我使用feedback.getViewport().add(table2,null),只有第二个表显示.我需要在这里使用一些布局管理器吗?我试图在线搜索滚动面板布局,但没有得到任何解决方案.谁能告诉我这是什么问题或者给我一些相关的示例链接?非常感谢.相关代码是:

        content = getContentPane();
        content.setLayout(new FlowLayout());
        scrollPane = new JScrollPane(tree);
        feedback = new JScrollPane(table1);
        JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,scrollPane, feedback);
        content.add(splitPane);
            .
            .
            .
            .
        feedback.add(table2);
        //i add this, but still doesn't work 
        content.add(table2);
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

swing ×2

jscrollpane ×1

jtable ×1