private void setupFilter() { final TransferHandler originalHandler = getTransferHandler(); setTransferHandler(new TransferHandler() { @Override public boolean canImport(JComponent comp, DataFlavor[] transferFlavors) { return originalHandler.canImport(comp, transferFlavors); } @Override public boolean canImport(TransferHandler.TransferSupport support) { return originalHandler.canImport(support); } @Override public void exportAsDrag(JComponent comp, InputEvent e, int action) { originalHandler.exportAsDrag(comp, e, action); } @Override public void exportToClipboard(JComponent comp, Clipboard clip, int action) { originalHandler.exportToClipboard(comp, clip, action); } @Override public Image getDragImage() { return originalHandler.getDragImage(); } @Override public Point getDragImageOffset() { return originalHandler.getDragImageOffset(); } @Override public int getSourceActions(JComponent c) { return originalHandler.getSourceActions(c); } @Override public Icon getVisualRepresentation(Transferable t) { return originalHandler.getVisualRepresentation(t); } @Override public boolean importData(JComponent comp, Transferable t) { return originalHandler.importData(comp, t); } @Override public boolean importData(TransferHandler.TransferSupport support) { Transferable t = support.getTransferable(); if (t.isDataFlavorSupported(DataFlavor.getTextPlainUnicodeFlavor())) { // This is good String data; if (t.isDataFlavorSupported(DataFlavor.allHtmlFlavor)) { // Strip this try { data = (String) t.getTransferData(DataFlavor.allHtmlFlavor); if (data.contains("
")) { data = data.replaceAll("\r", "").replaceAll("\n", "