怎么把一张表(A表)中的一行数据通过鼠标双击添加到另外一张表(B表)里去?
怎么把B表的数据分别写到数据库中两张不同的数据库表中去?

解决方案 »

  1.   

    package ok;import java.awt.BorderLayout;
    import java.awt.Dimension;import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.DefaultListModel;
    import java.awt.Rectangle;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.JTable;
    import javax.swing.BorderFactory;
    import java.awt.Color;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseAdapter;public class Frame1 extends JFrame {
        JPanel contentPane;
        DefaultListModel model = new DefaultListModel();
        Object[][] object = { {"aaaa", "cccc"}, {"ddddd", "eeee"}, {"ghghhh",
                            "dddd"}, {"jhjjjj", "cc"}, {"dddd", "dd"}
        };
        String[] name = {"aaaa", "bbbbb"};
        JTable table1 = new JTable(new DefaultTableModel(object, name){
            public boolean isCellEditable(int row, int column){
                return false;
            }
        
        });
        JTable table2 = new JTable(new DefaultTableModel(0, 2));
        public Frame1() {
            try {
                setDefaultCloseOperation(EXIT_ON_CLOSE);
                jbInit();
            } catch (Exception exception) {
                exception.printStackTrace();
            }
        }    /**
         * Component initialization.
         *
         * @throws java.lang.Exception
         */
        private void jbInit() throws Exception {
            contentPane = (JPanel) getContentPane();
            contentPane.setLayout(null);
            setSize(new Dimension(400, 300));
            setTitle("Frame Title");
            table1.setBorder(BorderFactory.createLineBorder(Color.black));
            table1.setBounds(new Rectangle(19, 15, 363, 102));
            table1.addMouseListener(new Frame1_table1_mouseAdapter(this));
            table2.setBorder(BorderFactory.createLineBorder(Color.black));
            table2.setBounds(new Rectangle(19, 158, 363, 102));
            contentPane.add(table1);
            contentPane.add(table2);
        }    public void table1_mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2) {
                Object[] object = new Object[table1.getModel().getColumnCount()];
                
                for (int i = 0; i < table1.getModel().getColumnCount(); i++) {                object[i] = table1.getValueAt(table1.getSelectedRow(), i);
                }            DefaultTableModel amodel = (DefaultTableModel) table1.getModel();
                amodel.removeRow(table1.getSelectedRow());            DefaultTableModel model = (DefaultTableModel) table2.getModel();
                model.addRow(object);
            }    }}
    class Frame1_table1_mouseAdapter extends MouseAdapter {
        private Frame1 adaptee;
        Frame1_table1_mouseAdapter(Frame1 adaptee) {
            this.adaptee = adaptee;
        }    public void mouseClicked(MouseEvent e) {
            adaptee.table1_mouseClicked(e);
        }}