Java 如何检查表格是否用Jtable和JFrame制作

Java 如何检查表格是否用Jtable和JFrame制作,java,swing,jtable,jframe,Java,Swing,Jtable,Jframe,您好,我想检查表是否用于添加行。如果不是,我想显示消息:首先创建表。我的问题是:我不知道应该在if语句中键入什么来检查是否有一行(这可能表明表是创建的) 我通过NetBeans JFrame选项以以下方式创建表: jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { /* space is empty here because on

您好,我想检查表是否用于添加行。如果不是,我想显示消息:首先创建表。我的问题是:我不知道应该在if语句中键入什么来检查是否有一行(这可能表明表是创建的)

我通过NetBeans JFrame选项以以下方式创建表:

jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
           /*
           space is empty here because on start I do not create any rows.
           user has to click button create or add rows. 
                                                                       */
            },
            new String [] {
                "Name", "Surname"
            }
        ));
我的if声明:

 if(//do not know what type here because new Object [][] will not work){
            JOptionPane.showMessageDialog(null, "Create table!");
        }else //add row to table because exist {
        Object[][] temp = new Object[data.length + 1][2];
        for (int i = 0; i < data.length; i++) {
            for (int j = 0; j < 2; j++) {
                temp[i][j] = data[i][j];
            }
        }
        data = temp;
        jTable1.setModel(new DefaultTableModel(data, columns));
    } 
if(//不知道此处的类型,因为新对象[][]将无法工作){
showMessageDialog(null,“创建表!”);
}else//将行添加到表中,因为存在{
Object[][]temp=新对象[data.length+1][2];
对于(int i=0;i
看起来您正在使用NetBeans GUI builder。如果在突出显示
jTable
的情况下转到属性窗格(Netbeans设计视图中最右侧的选项卡),您将看到一个属性
模型

  • 点击。。。属性右侧的按钮,将弹出一个对话框
  • 将行数设置为0,列数设置为所需的列数,并设置列
    标题
    类型
    ,如果需要可编辑
然后在您的
actionPerformed
中,无论您如何获取行的数据,都可以使用
model.addRow()将该数据的数组添加到模型中

因此,无论何时按下按钮,都会向表中动态添加一行。这是使用GUI Builder执行此操作的最简单方法

编辑

如果要检查行数,请检查
rowCount

 DefaultTableModel model = (DefaultTableModel)jTable1.getModel();

 if (model.getRowCount() < 1) {
     do something.
 }
DefaultTableModel=(DefaultTableModel)jTable1.getModel();
if(model.getRowCount()<1){
做点什么。
}

是的,我知道。我只想知道我应该在if语句中键入什么来检查表是否已创建(尽管只有一行)。我知道如何创建表格现在我想添加一些特殊的东西,使表格更“智能”-表格必须知道是否已创建。不是吗?因此无法添加行。您的意思是要检查表当前有多少行?我不理解检查表是否已创建的意义。我可能误解了你们好吧,我已经创建了表,我知道如何创建表。我有两个按钮。推送表格时首先创建表格(创建表格时,表格内有一行)。第二步添加行(推送一行)。这就是它的工作原理。现在我想添加一些特别的东西,让它更好。所以我决定不通过每个按钮add来添加行,而是首先if Station将检查是否有一行。我想消除这种情况:打开带有表格的框架,然后按add按钮逐行创建表格。在开始时,我的表没有任何行,只有列的名称。我希望你现在能理解我:)看我的编辑。也许这就是你想要的。
 DefaultTableModel model = (DefaultTableModel)jTable1.getModel();

 if (model.getRowCount() < 1) {
     do something.
 }