package fenetres.create_act; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ImageIcon; import javax.swing.KeyStroke; import cXML.Run; import cXML.node; public class actPaste extends AbstractAction{ /** * */ private static final long serialVersionUID = 1L; { putValue( Action.NAME, "Coller" ); putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/paste.png") ) ); putValue( Action.MNEMONIC_KEY, KeyEvent.VK_V ); putValue( Action.SHORT_DESCRIPTION, "Coller (CTRL+V)" ); putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_DOWN_MASK) ); } @Override public void actionPerformed(ActionEvent e) { String initial = ""; try { Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); String paste = c.getContents(null).getTransferData(DataFlavor.stringFlavor).toString(); if (!paste.equals(initial)) { node nodCopy = Run.XMLContent(paste); node nod = (node) fenetres.create.getSelectNode().getUserObject(); nod.getNodes().add(nodCopy); fenetres.create.constructionTree(); initial = paste; } } catch (UnsupportedFlavorException | IOException ex) { Logger.getLogger(actPaste.class.getName()).log(Level.SEVERE, null, ex); } try { Thread.sleep(40); } catch (InterruptedException ex) { } } }