瀏覽代碼

添加使用说明文档

YanYi 6 年之前
父節點
當前提交
eb0a712249
共有 2 個文件被更改,包括 32 次插入7 次删除
  1. 0 0
      lib/jettison-1.2.jar
  2. 32 7
      src/com/yanyi/translation/Translation.java

+ 0 - 0
resources/META-INF/lib/jettison-1.2.jar → lib/jettison-1.2.jar


+ 32 - 7
src/com/yanyi/translation/Translation.java

@@ -2,9 +2,12 @@ package com.yanyi.translation;
 
 import com.intellij.openapi.actionSystem.AnAction;
 import com.intellij.openapi.actionSystem.AnActionEvent;
-import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.ui.Messages;
 
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -56,11 +59,33 @@ public class Translation extends AnAction {
     }
 
     private void show(String text, String msg) {
-        //这个回调是线程里面的,所以要加个方法,不然会报错
-        ApplicationManager.getApplication().invokeLater(() -> {
-            //弹出翻译结果对话框
-            String str = Messages.showInputDialog(text, "翻译结果", Messages.getInformationIcon(), msg, null);
-            trans(str);
-        });
+//        //这个回调是线程里面的,所以要加个方法,不然会报错
+//        ApplicationManager.getApplication().invokeLater(() -> {
+//            //弹出翻译结果对话框
+        String str = Messages.showInputDialog(text, "翻译结果", Messages.getInformationIcon(), msg, null);
+        trans(str);
+//        });
+    }
+
+    /**
+     * 从剪切板获得文字。
+     */
+    public static String getSysClipboardText() {
+        String ret = "";
+        Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
+        // 获取剪切板中的内容
+        Transferable clipTf = sysClip.getContents(null);
+        if (clipTf != null) {
+            // 检查内容是否是文本类型
+            if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) {
+                try {
+                    ret = (String) clipTf
+                            .getTransferData(DataFlavor.stringFlavor);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return ret;
     }
 }