Olá galera do forum, tô com umm pequeno problema com um JPopupMenu.
Tenho uma classe ki é responsável por criar JPopupMenu em JTextFields.
public class MenuContexto extends MouseAdapter implements ActionListener {
JTextField component;
JPopupMenu mpopup;
JMenuItem miSelecionar, miRecortar, miCopiar, miColar;
public MenuContexto(JTextField theComponent) {
component = theComponent;
component.addMouseListener(this);
mpopup = new JPopupMenu();
miSelecionar = new JMenuItem("Selecionar");
miSelecionar.addActionListener(this);
miRecortar = new JMenuItem("Recortar");
miRecortar.addActionListener(this);
miCopiar = new JMenuItem("Copiar");
miCopiar.addActionListener(this);
miColar = new JMenuItem("Colar");
miColar.addActionListener(this);
mpopup.add(miSelecionar);
mpopup.add(miRecortar);
mpopup.add(miCopiar);
mpopup.addSeparator();
mpopup.add(miColar);
mpopup.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == miSelecionar) {
component.selectAll();
}
if (e.getSource() == miRecortar) {
component.cut();
}
if (e.getSource() == miCopiar) {
component.copy();
}
if (e.getSource() == miColar) {
component.paste();
}
}
@Override
public void mousePressed(MouseEvent e) {
maybePopup(e);
}
@Override
public void mouseReleased(MouseEvent e) {
maybePopup(e);
}
private void maybePopup(MouseEvent e) {
if (e.isPopupTrigger()) {
mpopup.show(e.getComponent(), e.getX(), e.getY());
}
}
}
Créditos da classe:[url]http://javafree.uol.com.br/topic-861932-duvida-classe-copia-cola.html[/url]
Na prática fica assim:
MenuContexto menu = new MenuContexto(textField_4);
Roda tudo bem se não fosse um pekeno problema, qdo inicio a aplicação o JPopupMenu aparece
no canto superior esquedo. Não queria ki fosse assim, mas ki só aparecesse qdo clicasse
com o botão direito em cima de um JTextField. Qdo eu clico aparece, mas eu quero ki ele
apereça apenas nos JTextField e não qdo iniciasse a aplicação.
Grato desde já.