我试图创建一个文本框
protected FormToolkit toolkit = new FormToolkit(parent.getDisplay());
Text idInput = toolkit.createText(parent, " ", SWT.BORDER);
那么,只有Ctrl+A, 但没有Ctrl+C,Ctrl+V和Ctrl+X函数,我怎样才能得到这些HotKey
函数呢?
您可以使用系统剪贴板。这也将允许您从 Java 应用程序复制和粘贴到本机应用程序!
创建一个ActionListener
使用Clipboard
.
public class ClipboardActionListener implements ActionListener
{
private final JTextField;
public ClipboardActionListener(JTextField text)
{
this.text= text;
}
@Override
public void actionPerformed(ActionEvent e)
{
Clipboard system = Toolkit.getDefaultToolkit().getSystemClipboard();
StringSelection selection = new StringSelection(text.getText());
system.setContents(selection, selection)
}
}
并在创建文本字段时注册击键。
KeyStroke copy = KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK, false);
textField.registerKeyboardAction(new ClipboardActionListener(textField), copy, JComponent.WHEN_FOCUSED);