How can I execute special code when the user right clicks into a jTextField control? How can I sence that right click?
Printable View
How can I execute special code when the user right clicks into a jTextField control? How can I sence that right click?
Try this code:Code:JTextField txtField = new JTextField();
txtField.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
JOptionPane.showMessageDialog(null, "Righ Click", "Test",
JOptionPane.INFORMATION_MESSAGE);
}
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
});
this.add(txtField,BorderLayout.NORTH);
Thanks for you help but I couldn't get it to work, here is what I tried:
vb Code:
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: //JTextField txtField = new JTextField(); jTextField1.addMouseListener(new MouseListener() { // @Override public void mouseClicked(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON3) { JOptionPane.showMessageDialog(null, "Righ Click", "Test", JOptionPane.INFORMATION_MESSAGE); } } // @Override public void mouseEntered(MouseEvent e) { } // @Override public void mouseExited(MouseEvent e) { } // @Override public void mousePressed(MouseEvent e) { } // @Override public void mouseReleased(MouseEvent e) { } }); //this.add(txtField,BorderLayout.NORTH); }
Nothing happens, how can i fix it to work with this format
I don't know why you put it in this method. take a look:Code:import java.awt.BorderLayout;
import java.awt.HeadlessException;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class TestFrame extends JFrame {
private static final long serialVersionUID = -7356866315584500438L;
/**
* @throws HeadlessException
*/
public TestFrame() throws HeadlessException {
super("Test Project");
JTextField txtField = new JTextField();
txtField.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
JOptionPane.showMessageDialog(null, "Righ Click", "Test",
JOptionPane.INFORMATION_MESSAGE);
}
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
});
this.add(txtField,BorderLayout.NORTH);
}
/**
* @param args
*/
public static void main(String[] args) {
TestFrame frm = new TestFrame();
frm.setSize(400, 400);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setVisible(true);
}
}
Here is the thing, im using netbeans and im using its auto encoded jTextField. How do I make that work with jTextField1 which is already been created by netbeans? Thats why I originally put it in jTextField1ActionPerformed. Thanks