@Override public void actionPerformed(ActionEvent event) { SComponent component = (SComponent)event.getSource(); try { STransferHandler th = component.getTransferHandler(); Clipboard clipboard = component.getSession().getClipboard(); switch (this.name) { case "cut": // cut (MOVE) from component to clipboard th.exportToClipboard(component, clipboard, MOVE); break; case "copy": // copy (COPY) from component to clipboard th.exportToClipboard(component, clipboard, COPY); break; case "paste": // import the data from the clipboard Transferable transferable = clipboard.getContents(null); TransferSupport support = new TransferSupport(component, transferable); th.importData(support); break; } } catch(Exception e) { throw new RuntimeException(e); } } }