所以,这是场景:我在一个框架中有一个基本的JTextField,并希望给用户提供选项,右键单击文本字段然后,就像在Eclipse或Microsoft Word中一样,在弹出菜单中给他用于复制文本或粘贴已创建文本的选项。 如何进行这种特殊的右键单击活动?
这是该程序的简短版本,我到目前为止:
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);
}
}
答案 0 :(得分:1)
你应该使用鼠标事件为你注册一个事件,然后你必须使用一个弹出菜单,当你点击这里时,这是一个示例代码!
privatevoidformMouseClicked(java.awt.event.MouseEventevt){
if (evt.isPopupTrigger()){
pop.show(evt.getComponent(),evt.getX(), evt.getY());
}
}
答案 1 :(得分:0)
private void textfiledMousePressed(java.awt. event.MouseEvent evt) {
if (evt.getModifiers() == MouseEvent.BUTTON3_MASK){
p.show(evt.getComponent(), evt.getX(), evt.getY());
}
}
也可以右键单击