如何在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中

真的很着急啊,希望大侠来指点一下啊,非常感谢
展开
 我来答
jamxval
2013-12-03 · TA获得超过6822个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1433万
展开全部

你都能弄出自定义的第一列组合式控件,那个把数据填充到 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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式