您好我想检查表是否添加了行。如果不是我想显示消息:先创建表。我的问题:我不知道应该输入什么if 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 statment:
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));
}
答案 0 :(得分:1)
看起来您正在使用NetBeans GUI构建器。如果您突出显示jTable
的属性窗格(Netbeans设计视图中最右侧的选项卡),您将看到属性model
title
和type
以及是否需要editable
然后在您的actionPerformed
中获取行的数据,使用model.addRow()
public void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// get row data, and put it into an array
Object[] row = {data1, data2, data3 ...};
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
model.addRow(row);
}
因此,只要按下按钮,就会在表格中动态添加一行。这是使用GUI Builder
执行此操作的最简单方法修改强>
如果要检查行数,请检查rowCount
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
if (model.getRowCount() < 1) {
do something.
}