如何在JTable的弹出框中选择多行数据并一次性插入这多行数据到这个Jtable中。
JTabletableA的第一列放的是自定义JPanel控件,是JTextfield和JButton,点击每一行第一列的JButton弹出另外一个表格JTabletabl...
JTable tableA的第一列放的是自定义JPanel控件,是JTextfield和JButton,点击每一行第一列的JButton弹出另外一个表格JTable tableB,我要做的是如何选中弹出表格tableB的多行数据,插入到表格tableA里去。
1、一开始的表格tableA如下
2、点击JButton后界面如下
3、选中tableB的多行数据
4、点击确定的时候一次性插入选中的数据到tableA中
真的很着急啊,希望大侠来指点一下啊,非常感谢 展开
1、一开始的表格tableA如下
2、点击JButton后界面如下
3、选中tableB的多行数据
4、点击确定的时候一次性插入选中的数据到tableA中
真的很着急啊,希望大侠来指点一下啊,非常感谢 展开
1个回答
展开全部
你都能弄出自定义的第一列组合式控件,那个把数据填充到 TableModel 中还不是小菜。
AbstractTableModel model = new MyModel();
myTableA.setModel(model);
...
model.clear();
model.addRow(...); // 跑循环,填充数据。
// 填充值然后
model.fireTableDataChanged(); // 数据填充好了,请求刷新显示。
class MyModel implements TableModel {
private final Vector matrix = new Vector(); // 代表每行,里面装着 Vector 代表每列, 相当于二数组。
private final int columnCnt = 1;
public MyModel(int coumnCount) {
columnCnt = columnCount;
}
public void addRow() {
// 填充一行各列空白的数据行。
Vector row = new Vector(columnCnt);
for(int i = 0; i < matrix.size(); i++) {
row.add("");
}
matrix.add(row);
}
public void clear() { matrix.clear();}
public void addRow(Vector row) {
//如果列的个数不同,修正它。
if (row.size() > columnCnt) { row = row.subList(0, columnCnt);}
else if (row.size() < columnCnt) {
while(row.size() < columnCnt) { row.add("");}
}
}
// 其他 TableModel 中需要实现的方法省略,看文档中如何描述这些方法的,实现它。
}
http://docs.oracle.com/javase/7/docs/api/javax/swing/table/AbstractTableModel.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询