在 Eclipse 中使用 Swing 实用程序时出现“访问限制错误”

Posted

技术标签:

【中文标题】在 Eclipse 中使用 Swing 实用程序时出现“访问限制错误”【英文标题】:Getting "Access restriction error" when using Swing utilities in Eclipse 【发布时间】:2014-08-07 13:32:05 【问题描述】:

我是第一次使用 Mac,我假设这是特定于操作系统的错误,因为相同的代码在 Ubuntu 上运行良好。

我正在尝试编译 this code 并且 Eclipse 向我显示了很多类似这样的错误:

访问限制:方法invokeLater(Runnable) 来自类型 SwingUtilities 由于必需的限制而无法访问 图书馆 /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre/lib/rt.jar

这是我第一次遇到这样的事情,我不知道如何继续。

我正在使用 Java 8。

【问题讨论】:

如果发生这种情况,通常对我有用的是从项目中删除 JRE 系统库,然后重新添加它。 请将其添加为答案,以便我接受。 【参考方案1】:

老实说,我不知道为什么会发生这种情况,而且当我不记得上次我是如何解决它时,这很痛苦。我想是 Eclipse 的一些怪癖。

我通常通过从构建路径中删除 JRE 系统库然后将其添加回来来解决此问题。

【讨论】:

【参考方案2】:

我猜是 Mac 不支持系统托盘。您应该使用java.awt.SystemTray.isSupported() 方法检查是否存在支持。这是否返回 true?

编辑:我猜问题更多是在 Eclipse IDE 级别?尝试重新安装 Java。

【讨论】:

以上是关于在 Eclipse 中使用 Swing 实用程序时出现“访问限制错误”的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 找不到 javax.swing

Eclipse Swing应用程序:UI表单应以区域设置语言显示

Eclipse 或 Netbeans 用于基于 Swing 的应用程序? [关闭]

Swing国际化 - 如何在运行时更新语言

swing程序eclipse导出可执行jar

含有Swing的java项目在Eclipse中可以正常运行,但是打包后不能正常运行