我喜欢Emacs功能,可以将选择内容自动复制到剪贴板。是否可以在Eclipse上执行相同的操作?

环境:Windows XP,Helios

最佳答案

要将字符串从Eclipse复制到剪贴板,可以使用

void copyToClipboard (String toClipboard, Display display){
    String toClipboard = "my String";
    Clipboard clipboard = new Clipboard(display);
    TextTransfer [] textTransfer = {TextTransfer.getInstance()};
    clipboard.setContents(new Object [] {toClipboard}, textTransfer);
    clipboard.dispose();
}


然后,您可以从MouseAdapterKeyAdapter调用此方法,具体取决于要从何处获取String。在您的情况下,它可能是MouseAdapter,它监听双击,获取文本的当前光标位置,标记单词,然后将String添加到剪贴板。

编辑以回答问题:您可以设置自己的MouseAdapater并将其附加到按钮,文本字段或所需的内容。这是一个按钮的示例:

    Button btnGo1 = new Button(parent, SWT.NONE);
    btnGo1.setText("Go");
    btnGo1.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseDoubleClick(MouseEvent e) {
        //do what you want to do in here
        }
    });


如果您也想实现mouseUp和mouseDown事件,则只需添加MouseListener而不是Adapter。适配器的唯一优点是,您不必重写接口的其他方法。

由于最初的问题是要自动获取编辑器文本的选择:因此,从编辑器中获取选择的方法在here中进行了说明。

09-04 12:17