0

我试图创建一个文本框

protected FormToolkit toolkit = new FormToolkit(parent.getDisplay());
Text idInput = toolkit.createText(parent, " ", SWT.BORDER);

那么,只有Ctrl+A, 但没有Ctrl+C,Ctrl+VCtrl+X函数,我怎样才能得到这些HotKey函数呢?

4

1 回答 1

0

您可以使用系统剪贴板。这也将允许您从 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);
于 2012-09-04T14:41:49.160 回答