Duvida classe copia cola

ola galera

tenho um formulario de cadastro de cliente com varios textfield …

gostaria de colocar um popup de copia e cola neste formulario, entao criei a classe abaixo :


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class copia_cola extends MouseAdapter implements ActionListener {

	JPopupMenu mpopup;
	JMenuItem miSelecionar, miRecortar, miCopiar, miColar;
	
	public copia_cola () {
		
		mpopup = new JPopupMenu();
		
		miSelecionar = new JMenuItem ("Selecionar",new ImageIcon("selecionar.gif"));
		miSelecionar.setMnemonic(KeyEvent.VK_S);
		miSelecionar.addActionListener(this);
		
		miRecortar = new JMenuItem ("Recortar",new ImageIcon("recortar.gif"));
		miRecortar.setMnemonic(KeyEvent.VK_T);
		miRecortar.addActionListener(this);
		
		miCopiar = new JMenuItem ("Copiar",new ImageIcon("copiar.gif"));
		miCopiar.setMnemonic(KeyEvent.VK_C);
		miCopiar.addActionListener(this);
		
		miColar = new JMenuItem ("Colar",new ImageIcon("colar.gif"));
		miColar.setMnemonic(KeyEvent.VK_P);
		miColar.addActionListener(this);
		
		mpopup.add(miSelecionar);
		mpopup.add(miRecortar);
		mpopup.add(miCopiar);
		mpopup.add(miColar);
		mpopup.setVisible(true);
	}
	
	public void actionPerformed(ActionEvent e) {
		
		if (e.getSource()==miSelecionar) {
			JOptionPane.showMessageDialog(null, "seleciona" ,"Operador", JOptionPane.ERROR_MESSAGE); 
			//.selectAll(); 
			mpopup.setVisible(false);
		}
		
		if (e.getSource()==miRecortar) {
			JOptionPane.showMessageDialog(null, "recorta" ,"Operador",JOptionPane.ERROR_MESSAGE); 
			//.cut(); 
			mpopup.setVisible(false);
		}
		
		if (e.getSource()==miCopiar) {
			JOptionPane.showMessageDialog(null, "copia" ,"Operador",JOptionPane.ERROR_MESSAGE);
			//.copy();
			mpopup.setVisible(false);
		}
		
		if (e.getSource()==miColar) {
			JOptionPane.showMessageDialog(null, "cola" ,"Operador",JOptionPane.ERROR_MESSAGE);
			//.paste();
			mpopup.setVisible(false);
		}
	}
}

mas tem um problema na hora de copiar/colar …

como tenho varios textfield, nao sei em qual deles o usuario clicou por ultimo para copiar o valor digitado e em qual textfield ele clicou para colar, como faco isso ??

Vc precisa saber qual foi o último componente que teve o foco da sua app.
Põe um FocusListener adicionado em cada componente de texto seu, o método focusGained atualiza a variável responsável por ganhar o seu foco
e aí dispara a popup.