【问题标题】:@Override command is not compatible with 'Ready to Program Java?' [closed]@Override 命令与“准备好编程 Java?”不兼容[关闭]
【发布时间】:2013-02-21 23:31:45
【问题描述】:

显然@Override 是一个非法令牌

我怎样才能做到这一点,这可能吗?

编辑:

我很抱歉。我不知道Ready to Program 是java v. 1.4。我是一个新手,最初认为 java 语言词汇是通用的,只有类会随着版本的变化而变化。

【问题讨论】:

  • 您使用的是哪个 JDK?粘贴准确且完整的编译器错误。

标签: java swing overriding


【解决方案1】:

查找一下,您正在使用的东西(“Ready to Programming Java”)随 Java 1.4 提供。这是古老的

所以...不,@Override 是不允许的,你也不能直接在JFrame 上设置布局。

见:http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html#setLayout(java.awt.LayoutManager)

默认可以不设置该组件的布局, 应该设置它的 contentPane。例如: thisComponent.getContentPane().setLayout(new GridLayout(1, 2))

一个 尝试设置此组件的布局将导致运行时 要抛出的异常。子类可以禁用此行为。

【讨论】:

  • 谢谢。我想从现在开始我将使用 eclipse。
【解决方案2】:

您不应该直接在 JFrame 上设置布局。正如错误所说的“use Project1.getContentPane().setLayout() instead”。

最好先将 JPanel 添加到 JFrame,然后将所有项目添加到 JPanel。您也只能更改 JPanel 上的布局管理器,而不是 JFrame

【讨论】:

  • 实际上,frame.setLayout()frame.add() 都将在JFrame(即JPanel)的contentPane 上被委托和调用。我不确定为什么会发生这样的错误。
  • 其实——如果你查一下,那是因为他用的东西是Java 1.4自带的;这是古老的
猜你喜欢
  • 2018-03-15
  • 1970-01-01
  • 2018-03-10
  • 2013-11-24
  • 1970-01-01
  • 2020-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多