jtable怎么更新信息呀 我做好了界面 如果输入数据怎么把它保存到数据库里 下次查询的时候可以查到呢 ?

解决方案 »

  1.   

    通过TableModel 绑定JTable的数据
      

  2.   

    使用DefaultTableModel,给你一个例子,希望可以帮到你:
    package test;
    import javax.swing.table.DefaultTableModel;
    import java.util.Vector;import javax.swing.JButton;
    import javax.swing.JPanel;
    import javax.swing.JTable;
    import javax.swing.JScrollPane;
    import javax.swing.JFrame;import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    public class JTableUpdate implements ActionListener{

    private DefaultTableModel tableModel = null;
    private JTable table = null;
    private JScrollPane scrollPane = null;
    private Vector rowData = null;
    private Vector columnNames = null;
    private Vector data = null;
    private JButton button = null;
    private JPanel panel = new JPanel();
    private JPanel panel2 = new JPanel();
    JFrame frame = null;
    Container contentPane = null;

    public JTableUpdate(){

    //设置表头字段名称
    columnNames = new Vector();
    for(int i=0;i<4;i++){
    columnNames.add("第" +(i+1) + "列");
    }

    rowData = new Vector();
    data = new Vector();

    //开始表中的数据是1,2,3,4
    rowData.add("1");
    rowData.add("2");
    rowData.add("3");
    rowData.add("4");
    data.add(rowData);

    //使用DefaultTableModel构建表格
    tableModel = new DefaultTableModel(data,columnNames);
    table = new JTable(tableModel);
    scrollPane = new JScrollPane(table);
    frame = new JFrame("JTableUpdate");

    button = new JButton("更新数据");
    button.addActionListener(this);
    panel.add(button);

    //把带按钮的panel和带表格的scrollPane加到panel2中
    panel2.add(panel);
    panel2.add(scrollPane);


    contentPane = frame.getContentPane();
    //添加有更新按钮和表格进入contentPane
    contentPane.add(panel2);
    frame.pack();
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args){
    new JTableUpdate();
    } @Override

    //点击更新按钮后,就更新表中数据
    public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
    //清空vector中的数据
    rowData.clear();
    data.clear();

    //假设要更新的数据是5,6,7,8
    rowData.add("5");
    rowData.add("6");
    rowData.add("7");
    rowData.add("8");
    data.add(rowData);

    //使用DefaultTableModel设置表格
    tableModel.setDataVector(data, columnNames);
    table.setModel(tableModel);

    //更新UI
    panel2.updateUI();
    }
    }