Events java中的特殊右键单击事件
所以,这里是一个场景:我在一个框架中有一个基本的JTextField,我想给用户一个选项,右键单击textfield,然后像在Eclipse或Microsoft Word中一样,在弹出菜单中给他一个选项来复制他已经创建的文本或粘贴文本。 如何制作这种特殊的右键单击事件 这是该程序的一个简短版本,到目前为止我已经:Events java中的特殊右键单击事件,events,menu,popup,click,jtextfield,Events,Menu,Popup,Click,Jtextfield,所以,这里是一个场景:我在一个框架中有一个基本的JTextField,我想给用户一个选项,右键单击textfield,然后像在Eclipse或Microsoft Word中一样,在弹出菜单中给他一个选项来复制他已经创建的文本或粘贴文本。 如何制作这种特殊的右键单击事件 这是该程序的一个简短版本,到目前为止我已经: import java.awt.*; import javax.swing.*; public class TestClass extends JFrame{ privat
import java.awt.*;
import javax.swing.*;
public class TestClass extends JFrame{
private JFrame frame;
private JTextField textField;
/**
* Main method
* @param args
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TestClass window = new TestClass();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the window
*/
public TestClass() {
initialize();
}
/**
* Initialize components (TextField)
*/
private void initialize() {
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 100, 200, 100);
textField = new JTextField();
textField.setText("TextField");
textField.setFont(new Font("Arial", Font.PLAIN, 20));
frame.add(textField);
}
}
您应该使用鼠标事件为您注册一个事件,然后您必须使用弹出菜单,当您点击到目前为止,这里是一个示例代码为您弹出
privatevoidformMouseClicked(java.awt.event.MouseEventevt){
if (evt.isPopupTrigger()){
pop.show(evt.getComponent(),evt.getX(), evt.getY());
}
}
这也可以通过右键单击完成
private void textfiledMousePressed(java.awt. event.MouseEvent evt) {
if (evt.getModifiers() == MouseEvent.BUTTON3_MASK){
p.show(evt.getComponent(), evt.getX(), evt.getY());
}
}