Ayuda: Arrastrar y Soltar elementos de un jTable a otro

Alguien que me auxilie, tengo mi aplicacion y tengo una jTable que muestra datos de una base de datos y deseo mover un elemento de la tabla y que me permita moverlo a otro jTable para que me muestre informacion de ese elemento.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Tu codigo

Puedes compartir tu codigo para poder ayudarte mejor...

Dale un evento MouseListener a tu JTable identifica la fila que hayas seleccionado y extrae el contenido del primer table y añadelo al segundo....

Espero te puedavayudar en algo...

Te envio el codigo que tengo

La primera clase FromTransferHandler si arrastra el elementos pero la clase ToTransferHandler no lo hace

class FromTransferHandler extends TransferHandler{

        @Override
        public int getSourceActions(JComponent comp){
           return COPY;
        }
       
        private int column = 1;
       
        @Override
        public Transferable createTransferable(JComponent comp){
            column = jTable1.getSelectedColumn();
            if (column == 1){
                return null;
            }
           
            return new StringSelection((String)jTable1.getValueAt(NONE, column));
           
        }
        @Override
        public void exportDone(JComponent comp, Transferable trans, int action){
            if(action != MOVE){
                return;
            }
            dtm.removeRow(column);
        }
    }
       
   
    class ToTransferHandler extends TransferHandler{
        int action;
       
        public ToTransferHandler(int action){
            this.action = action;
        }
       
        @Override
        public boolean canImport(TransferHandler.TransferSupport support){
            if(!support.isDrop()){
                return false;
            }
           
            if(!support.isDataFlavorSupported(DataFlavor.stringFlavor)){
                return false;
            }
            boolean actionSupported = (action & support.getSourceDropActions()) == action;
            if(actionSupported){
                support.setDropAction(action);
                return true;
            }
            return false;
        }
       
        @Override
        public boolean importData(TransferHandler.TransferSupport support){
            if(!canImport(support)){
                return false;
            }
           
            JTable.DropLocation dl = (JTable.DropLocation)support.getDropLocation();
            int row = dl.getRow();
           
            String data;
            try{
                data = (String)support.getTransferable().getTransferData(DataFlavor.stringFlavor);
               
            } catch(UnsupportedFlavorException | java.io.IOException e){
                return false;
            }
             
              String[] rowData = data.split(",");
             
                 copy.insertRow(row, rowData);
                 Rectangle rect = jTable3.getCellRect(row, 0, false);
                 if (rect != null) {
                 jTable3.scrollRectToVisible(rect);
                 }
                 copy.insertElementAt(getNextString(count++), 0);
     
            JTable jTable3 = (JTable)support.getComponent();
            DefaultTableModel model = (DefaultTableModel)jTable3.getModel();
            model.insertRow(row, rowData);
            jTable3.setSelectionMode(row);
            return true;
        }
         
    }

Ayuda: Arrastrar una fila de un JTable a otro

Tengo el siguiente codigo poero no lo esta haciendo no se que estoy haciendo mal

 DefaultTableModel dtm = new DefaultTableModel();
 DefaultTableModel copy = new DefaultTableModel();

public UA_Modulo() {
       
        initComponents();
       
        //Se inicializan los identificadores de el JTable
        String titulos[]={"UAprendizaje","Nombre UAprendizaje","Plan","Semestre","Nucleo","Tipo","Creditos","Horas","Creditos por Semestre","Horas por Semestre","Periodo"};
        //Las columnas del JTable esstaran identificadas por los valores declarados en la variable titulos
        dtm.setColumnIdentifiers(titulos);
   
        //Se inicializan los identificadores de el JTable
        String titulos2[]={"UAprendizaje","Nombre UAprendizaje","Plan","Semestre","Nucleo","Tipo","Creditos","Horas","Creditos por Semestre","Horas por Semestre","Periodo"};
        //Las columnas del JTable esstaran identificadas por los valores declarados en la variable titulos
        copy.setColumnIdentifiers(titulos2);
       
        jTable1.setModel(dtm);
     
        jTable3.setModel(copy);
   
        jTable1.setTransferHandler(new FromTransferHandler());
       
        jTable1.setDragEnabled(true);
       
        jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
       
        jTable3.setTransferHandler(new ToTransferHandler(TransferHandler.COPY));
       
        jTable3.setDropMode(DropMode.INSERT_ROWS);

class FromTransferHandler extends TransferHandler{

        @Override
        public int getSourceActions(JComponent comp){
           return COPY;
        }
       
        private int column = 1;
       
        @Override
        public Transferable createTransferable(JComponent comp){
            column = jTable1.getSelectedColumn();
            if (column == 1){
                return null;
            }
           
            return new StringSelection((String)jTable1.getValueAt(NONE, column));
           
        }
        @Override
        public void exportDone(JComponent comp, Transferable trans, int action){
            if(action != MOVE){
                return;
            }
            dtm.removeRow(column);
        }
    }
       
   
    class ToTransferHandler extends TransferHandler{
        int action;
       
        public ToTransferHandler(int action){
            this.action = action;
        }
       
        @Override
        public boolean canImport(TransferHandler.TransferSupport support){
            if(!support.isDrop()){
                return false;
            }
           
            if(!support.isDataFlavorSupported(DataFlavor.stringFlavor)){
                return false;
            }
            boolean actionSupported = (action & support.getSourceDropActions()) == action;
            if(actionSupported){
                support.setDropAction(action);
                return true;
            }
            return false;
        }
       
        @Override
        public boolean importData(TransferHandler.TransferSupport support){
            if(!canImport(support)){
                return false;
            }
           
            JTable.DropLocation dl = (JTable.DropLocation)support.getDropLocation();
            int row = dl.getRow();
           
            String data;
            try{
                data = (String)support.getTransferable().getTransferData(DataFlavor.stringFlavor);
               
            } catch(UnsupportedFlavorException | java.io.IOException e){
                return false;
            }
             
              String[] rowData = data.split(",");
             
                 copy.insertRow(row, rowData);
                 Rectangle rect = jTable3.getCellRect(row, 0, false);
                 if (rect != null) {
                 jTable3.scrollRectToVisible(rect);
                 }
                 copy.insertRow(row, rowData);
     
            JTable jTable3 = (JTable)support.getComponent();
            DefaultTableModel model = (DefaultTableModel)jTable3.getModel();
            model.insertRow(row, rowData);
            jTable3.setSelectionMode(row);
            return true;
        }