下面列出了javax.swing.JTextField#setComponentPopupMenu ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public CustomCellEditor(final JTable table) {
super(new JTextField());
final JTextField component = (JTextField) getComponent();
component.setName("Table.editor");
component.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(final KeyEvent e) {
if ((e.getModifiers() & InputEvent.CTRL_MASK) != 0) {
if (e.getKeyCode() == ';') {
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
component.setText(format.format(new Date()));
} else if (e.getKeyCode() == 'v' || e.getKeyCode() == 'V') {
component.paste();
} else if (e.getKeyCode() == 'c' || e.getKeyCode() == 'C') {
component.copy();
} else if (e.getKeyCode() == 'x' || e.getKeyCode() == 'X') {
component.cut();
}
}
super.keyPressed(e);
}
});
component.setComponentPopupMenu(new TextFieldPopupMenu());
}
private static void setContextMenu(JTextField field) {
JMenuItem paste =
new JMenuItem(Constant.messages.getString(MESSAGE_PREFIX + "pasteaction"));
paste.addActionListener(e -> field.paste());
JPopupMenu jPopupMenu = new JPopupMenu();
jPopupMenu.add(paste);
field.setComponentPopupMenu(jPopupMenu);
}
private static void setContextMenu(JTextField field) {
JMenuItem paste =
new JMenuItem(Constant.messages.getString(MESSAGE_PREFIX + "pasteaction"));
paste.addActionListener(e -> field.paste());
JPopupMenu jPopupMenu = new JPopupMenu();
jPopupMenu.add(paste);
field.setComponentPopupMenu(jPopupMenu);
}