我试图在扩展 JFrame 的类中激活 revalidate 方法,但无法激活。 这是我第一次使用 swing,直到今天我才使用 java 6,因为我无法使用 revalidate,所以我安装了 JDK 1.7.0_21 但仍然无法使用它。 我使用 eclipse,它说“方法 revalidate() 对于 Game 类型未定义”(Game 是我扩展 JFrame 的类)
此外,当我尝试在 Windows 计算机上的代码中完全相同的位置编写 revalidate 时,没问题
我找不到有关此主题的任何内容..
我使用的是 OSX 10.8.3...
任何帮助将不胜感激,谢谢!
最佳答案
JFrame#revalidate (来自java.awt.Component
)是在Java 7中添加的。由于Java是跨平台的,JDK和JRE也有这个方法。因此Eclipse很可能仍在使用Java 6。
右键单击该项目,然后单击
- 属性 > Java 构建路径 > 库
- 选择 JRE 系统库 (1.6) -> 单击“删除”
然后添加 Java 7 的 JRE
- 添加库 > JRE 系统库 > 已安装的 JRE
- 选择 JDK 1.7 > 确定 > 完成
关于Mac 上的 java swing,无法激活组件的 revalidate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16946479/