【发布时间】:2018-07-17 11:02:03
【问题描述】:
我要创建的是一个包含多个具有相同模型但这些模型的内容不同的 JTable 的 java 页面。 现在在编程时不知道所需的 jtables 总数,我想创建多个表实例, 我正在尝试创建一个 DefaultTableModel 数组,然后是一个 Jtable 数组,最后是一个 JScrollPane 数组。 当将模型附加到表格然后在滚动窗格中附加表格时,表格没有出现,也没有发生任何错误。
提前致谢!
private void showComponents() {
lbl = new JLabel[users.size()];
tbl = new JTable[users.size()];
dtm = new DefaultTableModel[users.size()];
sp = new JScrollPane[users.size()];
for(int i =0;i<users.size();i++){
lbl[i] = new JLabel(users.get(i));
jPanel2.add(lbl[i]);
dtm[i] = new DefaultTableModel(column,0){
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
for(int j = 0;j<object.size();j++)
{
if(users.get(i).equals(object.get(j).getUser())){
String code = object.get(j).getCompCode();
String info = object.get(j).getInfo();
Integer amount = object.get(j).getAmount();
Boolean paid = object.get(j).getAmountPaid();
Object[] data ={object.get(j).getUser(),code,info,amount,paid};
System.out.println("data is :"+object.get(j).getService()+","+code+","+info+","+amount+","+paid+",::::"+object.get(j).getUser());
dtm[i].addRow(data);
}
}
tbl[i] = new JTable();
tbl[i].setModel(dtm[i]);
sp[i] = new JScrollPane();
sp[i].setBackground(Color.red);
sp[i].add(tbl[i]);
jPanel2.add(sp[i]);
}
setVisible(true);
}
这里的用户和对象是两个包含一些数据的arraylist。并且所有其他组件如JLabel,JPanel都已经定义了。
【问题讨论】:
-
在你投反对票之前提供理由
-
我同意,用户至少恐吓我为什么他/她投反对票
-
我没有投反对票,但这个问题太宽泛了。首先对
Is it possible to create an Array of JTables in Java?的回答是肯定的,为什么不呢。但是您没有提供任何代码,因此从我们的角度来看,您的表格未显示的原因是无穷无尽的。请通过minimal reproducible example(stackoverflow.com/help/mcve)提问 -
好的没问题,但您可以在评论部分请求代码..