2012-09-04 76 views
0

我試圖創建一個文本框的Java createText不按Ctrl C,Ctrl鍵V

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

然後,還有就是按Ctrl + A,但沒有按Ctrl + C按Ctrl + VCtrl + X功能,我怎樣才能獲得這些HotKey的功能?

回答

0

您可以使用系統剪貼板。這將允許您從Java應用程序複製並粘貼到本地應用程序!

創建使用Clipboard的新ActionListener

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); 
相關問題