我做了空桌子:
String columnNames[] = {"br", "artikal", "cena", "kolicina","ukupno" };
String dataValues[][] =new String[10][5];
DefaultTableModel tableModel=new DefaultTableModel(dataValues, columnNames);
我希望按顺序从第一行到最后一行按顺序填充一列,如果条件:
if ((((JButton)e.getSource()).getText()).equals(name.getName())){
for (int i=0;i<10;i++){
String products= (String) bill.tableModel.getValueAt(i, 1);
String p=Double.toString(name.getPrice());
if(products.equals(""))
bill.tableModel.setValueAt(name.getName(),i, 1);
bill.tableModel.setValueAt(p,i, 2);
break;
}
}
当我点击按钮时,什么也没有显示,但是当我删除条件if (products.equals(""))
时它正在工作,而是填充空白列中的单元格,它再次将文本设置为列中的第一个单元格。
我尝试了if ( dataValues[i][1].equals("null"))
和if (products.equals("null"))
它什么都没有显示。
当我在控制台上显示System.out.print((String) bill.tableModel.getValueAt(0, 1))
时显示“null”。
是否有其他方法可以填充列中的单元格?
答案 0 :(得分:0)
您的代码应该是:
if(products!=null && products.equals("")) {
bill.tableModel.setValueAt(name.getName(),i, 1);
bill.tableModel.setValueAt(p,i, 2);
}
我假设if语句的主体周围有花括号,因为我没有理解当你点击按钮时你想要做什么....
答案 1 :(得分:0)
这很好用:
if (e.getSource()instanceof JButton){
for (Product name:Main.manu){
if ((((JButton)e.getSource()).getText()).equals(name.getName())){
for (int i=0;i<10;i++){
String products= (String) bill.tableModel.getValueAt(i, 1);
String p=Double.toString(name.getPrice());
if (products!=null)
continue;
{
bill.tableModel.setValueAt(name.getName(),i, 1);
bill.tableModel.setValueAt(p,i, 2);
break; }
}
}
}
}
}