Java 验证jtable是否为空?

Java 验证jtable是否为空?,java,validation,jtable,Java,Validation,Jtable,我需要知道如何检查JTable中是否有类似的数据 if(jTextField1.getText().isEmpty()): then (if jTable1.isEmpty()) ... 我是如何做到这一点的?JTables不是像jtextfield这样的简单组件,就像其他swing组件一样,它们有一个底层数据模型,请查看javadoc中的这个示例: TableModel dataModel = new AbstractTableModel() { pu

我需要知道如何检查
JTable
中是否有类似的数据

if(jTextField1.getText().isEmpty()):
    then (if jTable1.isEmpty())
        ...

我是如何做到这一点的?

JTables不是像jtextfield这样的简单组件,就像其他swing组件一样,它们有一个底层数据模型,请查看javadoc中的这个示例:

  TableModel dataModel = new AbstractTableModel() {
      public int getColumnCount() { return 10; }
      public int getRowCount() { return 10;}
      public Object getValueAt(int row, int col) { return new Integer(row*col); }
  };
  JTable table = new JTable(dataModel);
与遵循MVC模式的每个UI对象一样,您不需要使用图形组件来理解它的值,而是使用数据模型。在您的情况下,保存对您创建的JTable的数据模型的引用,并调用
getRowCount
以了解您以前加载了多少数据


另外,检查官方文档。

我验证jtable是否为空 这个代码

private int calculate() {
    Vector<Integer> myvector = new Vector();

    TableModel mode = new DefaultTableModel();
    mode = jTable2.getModel();
    int n = mode.getRowCount();
    for (int i = 0; i < n; i++) {
        if (mode.getValueAt(i, 3) != null) {

            myvector.add((Integer) mode.getValueAt(i, 3));
        }
    }
    return myvector.size();
}

//then I validate with a button
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    int numofvalidrows;
    numofvalidrows = calculate();

    if (numofvalidrows == 0) //if the size of the vector is 0 then the jtable is empty
    {
        System.out.println("You need to add people to the jtable, because the table is empty");
    } else {
        // I get the values of the jtable with 
        for (int i = 0; i < n; i++) {
            if (model.getValueAt(i, 3) != null) {  //whith this "if" I print only data, not print null of the empty cells in jtable
                System.out.print(model.getValueAt(i, 3)) 

            }

        }
    }
}
private int calculate(){
向量myvector=新向量();
TableModel模式=新的DefaultTableModel();
mode=jTable2.getModel();
int n=mode.getRowCount();
对于(int i=0;i
1+用于区分模型和视图。但是,代码可能应该使用表的getRowCount()方法并检查0。表可能会被过滤,在这种情况下,视图会给出表中显示的记录数。谢谢你,uraimo,阅读一篇阅读文章我有一个想法。我在下面写了代码。您正在使用从jTable2获得的信息重新分配模式,我认为这不正确,您在哪里加载数据?按照我的例子,这应该更容易。