JTable clique com o botão direito do mouse no menu copiar / colar para copiar dados da célula com um clique
Eu criei meuJPopupMenu
. Aparece no meuJTable
quando clico com o botão direito do mouse em uma célula. No entanto, não consigo copiar os dados na célula, a menos que primeiro dê um clique duplo e depois destaque os dados, e clique com o botão direito do mouse em qualquer lugar, exceto nesta célula atual, para mostrar meu menu pop-up e opção de cópia.
Gostaria de copiar os dados em uma célula sem ter que clicar duas vezes em uma célula e entrar no modo de edição de células, onde preciso selecionar os dados.
Como posso fazer isso?
popup = new JPopupMenu();
popup.setName("popupMenu");
menuItemCopy = new JMenuItem(new DefaultEditorKit.CopyAction());
menuItemCopy.setText("Copy");
menuItemCopy.setName("copy");
popup.add(menuItemCopy);
popup.addSeparator();
menuItemPaste = new JMenuItem(new DefaultEditorKit.PasteAction());
menuItemPaste.setText("Paste");
menuItemPaste.setName("paste");
popup.add(menuItemPaste);
Aqui está o código que eu tenho no meuMouseListener
para o meuJTable
, nomouseReleased()
emousePressed()
.
if(e.isPopupTrigger())
{
JTable source = (JTable)e.getSource();
int row = source.rowAtPoint( e.getPoint() );
int column = source.columnAtPoint( e.getPoint() );
gridView.popup.show(e.getComponent(), e.getX(), e.getY());
}