Java - Copiar Pegar en Java

 
Vista:

Copiar Pegar en Java

Publicado por Mike (1 intervención) el 24/06/2008 17:00:10
Buenas tardes gente, tengo un problema con un menu contextual, bueno, mas bien con las acciones que realizo dentro: Copiar y Pegar.
Quiero que en todo mi programa, me aparezca un menu propio de CopyPaste que me he creado una clase. Y asi lo hace, el problema es que no guarda el foco al pegar, por tanto, lo pega siempre todo al final del texto que haya aunque situe el cursor en otra posicion. No se si me explico bien...Os pongo como lo he hecho a ver si veis algo incorrecto o algo que falta, por que no soy ningun experto:
Muchas gracias de antemano.

menuItemCopiar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
menuItemCopiarClick(e);
}
});

menuItemPegar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
menuItemPegarClick(e);
}
});

menuItemCopiar.setEnabled(true);
this.add(menuItemCopiar,0);
this.add(menuItemPegar,1);

public void menuItemCopiarClick(ActionEvent evt){
selectedText = ((Apartado)source).getSelection();
try {
StringSelection ss = new StringSelection(selectedText);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss,null);
} catch( IllegalStateException e) {
OCContext.getInstance().getLogErrorOrion().error("Error");
}
}

public void menuItemPegarClick(ActionEvent evt){
String txt = "";
Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
try {
if( t!=null && t.isDataFlavorSupported(DataFlavor.stringFlavor) )
txt = (String)t.getTransferData(DataFlavor.stringFlavor);
} catch( Exception e1) {
OCContext.getInstance().getLogErrorOrion().error("Error");
}
if(txt != null && !txt.equals(""))
((Apartado)source).receiveData(txt);
}

public void show(Component invoker, int x, int y) {
super.show(invoker, x, y);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder