【问题标题】:java swing on mac, can't activate Component's revalidate()mac上的java swing,无法激活组件的revalidate()
【发布时间】:2024-01-08 08:14:01
【问题描述】:

我正在尝试在扩展 JFrame 但不能的类中激活重新验证方法。 这是我第一次使用swing,直到今天我一直使用java 6,因为我无法使用revalidate 我安装了JDK 1.7.0_21 但仍然无法使用它。 我使用 eclipse,它说“方法 revalidate() 没有为 Game 类型定义”(Game 是我扩展 JFrame 的类)

另外,当我尝试在代码中完全相同的位置编写 revalidate 时,在 windows 计算机上,它没问题

我找不到有关此主题的任何内容..

我在 OSX 10.8.3...

任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 您好,您能否详细说明您要实现的目标(发布一些代码并描述您期望的效果)?

标签: java macos swing jframe


【解决方案1】:

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 > 确定 > 完成

【讨论】:

  • 没问题(总是很高兴解决这些问题)。合规级别是指语法(例如,如果您将合规设置为 1.6(或更低),则不允许您使用菱形 (<>))。 JRE 系统库是指 JRE 中可用的库(即 jar 和包含的类),因此这强制使用适当的 API 和可用方法。干杯:-)
  • 哇,感谢您的快速回复!工作得很好,顺便说一句,这就是我将 java 7 添加到 eclipse *.com/questions/6267392/…
最近更新 更多