java - 在 jtable 中设置值

标签 java swing jtable defaulttablemodel

我在尝试设置 Jtable 的值时遇到问题:jTable1。下面的方法称为重置,是我尝试创建的谜题 15 的一部分。调用该方法将值分配给 jTable1 的每个字段。假设 jTable1 已初始化,defaulttablemodel: model 也已初始化。谁能告诉我为什么当我运行代码时这些值不会显示?

private void reset(){
    int count=0;
    String val="  "+count;
    blankRow=3;
    blankCol=3;
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            model.setValueAt(val,i,j);
            count++;
        }
    }
    model.setValueAt(null, blankRow, blankCol);
    jTable1=new JTable(model);
    jTable1.setBackground(Color.WHITE);
}

最佳答案

您正在创建一个全新的 JTable 对象,它与显示的对象不同。不要这样做,而是设置当前显示的 JTable 的模型。这个可能被 jTable1 变量引用,但我们无法知道。如果它确实引用了可视化 JTable,则只需删除该行即可,

// jTable1 = new JTable(model);

并将其更改为:

jTable1.setModel(model); // change with this

请注意,如果模型变量引用显示的 JTable 的实际模型,则整个方法可以简化为:

model.setRowCount(0);

另请注意,您将希望避免使用正在使用的魔数(Magic Number),因为这种代码非常危险,并且如果您稍后更改表,则可能会出现索引越界异常的风险。

关于java - 在 jtable 中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31035919/

相关文章:

java - JTable 1点边框不出现在网格线上

java - 使 JTree 叶子显示为空目录而不是文件

java - 为 jcheckbox 添加边框

java - 如何验证param实际上是Json,而不仅仅是字符串

java - 即使 onclick 为空,也可以在 commandButton 中使用 "oncomplete"吗?

java - Java Preference API 可以作为避免读取文件的替代方案吗?

java - 如何使用Netbeans GUI设计从JTable隐藏标题?

Java JTable特定行和列值+另一个整数

java - 从 Java.util.Deque 中选择一个随机元素

java - Java中仅从偶数创建新数组的方法