!7 p-substance { final JTable table = showTable(ll( litorderedmap("Hello" := "World", "How" := "Good"), litorderedmap("Hello" := "Boys", "How" := "Whatever"))); TransferHandler th = new TransferHandler { @Override public int getSourceActions(JComponent c) { return COPY; } @Override protected Transferable createTransferable(JComponent c) { print("Row/Column: " + table.getSelectedRow() + " / " + table.getSelectedColumn()); O o = selectedTableCell(table); print("Value: " + o); return new StringSelection(str(o)); } }; tableEnableDrag(table, th); } svoid tableEnableDrag(final JTable table, TransferHandler th) { table.setDragEnabled(true); table.setTransferHandler(th); table.addMouseListener(new MouseAdapter { @Override public void mousePressed(MouseEvent e) { table.getTransferHandler().exportAsDrag(table, e, TransferHandler.COPY); } }); }