2012-10-25 53 views
2

由於Apple在Mac上強制更新JDK 7,舊的AWT applet不再支持複製/粘貼。例如,如果您訪問:任何解決方法在Mac上獲取複製/粘貼在JDK 7 AWT Applet中的工作?

Simple AWT Textfield Example

你不能複製並粘貼到該applet文本字段頁面上。我已經確認您仍然可以使用JDK 7在Windows上的AWT上進行復制/粘貼。

任何人都知道解決方法?

+0

使用JNLP API複製或複製其他方法。有關示例,請參見[此小程序](http://pscode.org/prop/?prop=java.version&format=TSV)。如果它在有問題的機器上工作,對於這種用例可能是可行的。請參閱[在沙盒應用程序中複製。在1.6.0_24 +](https://forums.oracle.com/forums/message.jspa?messageID=9469923)獲取更多關於實施的細節。 –

回答

3

甲骨文發佈Java 6的更新24 2011年2月,以彌補21個弱點:公告

由於這種安全版本的一部分,從一臺計算機的剪貼板複製粘貼&到一個Java小程序的能力已被禁用。

要解決這個問題有兩個解決方案:

  1. 創建的小應用程序的數字簽名。
  2. 解決方法:如果你不想用數字簽名的工作,添加到您的java.policy文件以下行:許可java.awt.AWTPermission「accessClipboard」
+0

這與我的發現一致。你能爲此提供一個參考嗎?我無法在任何發行說明中找到這些文檔,Oracle和Apple的Java團隊不知道這是「按設計」行爲。他們鼓勵我提交一份錯誤報告。 –

+0

這是目前爲止我發現的參考文獻:http://www.esecurityplanet.com/patches/article。php/3925146/Oracle-Updates-Java-for-21-Vulnerabilities.htm – Guido

+0

有關如何在不同平臺上爲不同人員解決問題的解決方案的討論可以在這裏看到:http://www.sqlinform.com/forum4 /read.php?3,467 – Guido

0

直到他們解決了這個錯誤,我發現簽名小程序允許複製/粘貼工作。

1

這裏是一個偉大的,非常

http://www.shodor.org/interactivate/resources/InstructionsCopyPaste/

這裏是指令的快速摘要:

    詳細的步行通過使用其政策工具來做到這一點的官方Java方式
  1. 在Terminal.app類型「用policytool」並按下確認鍵
  2. 駁回任何錯誤消息,並從「文件」菜單
  3. 另存爲「.java.policy中」選擇「保存」(與前面的點)在用戶的主目錄
  4. 點擊「添加策略項」,然後在「添加權限」
  5. 選擇「的AWTPermission」的權限和「accessClipboard」爲目標
  6. 單擊「確定」,然後選擇「完成」
  7. 再次選擇「保存」,然後從「文件」菜單中選擇「退出」
  8. 重新啓動您的瀏覽器(或者您的計算機如果複製/粘貼仍然不起作用)
+0

歡迎來到SO!遵循「如何寫出一個好答案」(http://meta.stackexchange.com/questions/7656/how-do-i-write-a-good-answer-to-a-question)的指導方針,你能請嘗試總結鏈接網站的指示,以便即使網站消失,未來的SO讀者也可能受益? –

+0

謝謝你的提示。我剛看到它,並在上面的原始文章中添加了一個摘要。 –