【问题标题】:Unable to setVisible(false) of JFrame无法设置 JFrame 的 setVisible(false)
【发布时间】:2013-05-14 14:24:39
【问题描述】:

我正在创建一个医疗店计费软件,其中我有三个JFrames,其中一个我需要点击setVisible(false) JMenuItem。但是每次编译时都会显示错误

JFrame f is accessed from within inner class; needs to be declared final 

谁能帮我解决这个问题?

【问题讨论】:

  • 您需要发布您的代码以便我们为您提供更好的建议
  • 1) 为了尽快获得更好的帮助,请发帖 SSCCE。 2) 见The Use of Multiple JFrames, Good/Bad Practice?
  • 基本上JFrame f.. 需要是final JFrame f..。您的 SSCCE 会提供更好的建议。

标签: java swing compiler-errors inner-classes final


【解决方案1】:

如果你需要访问外部类的变量。你需要像这样添加final:

final public JFrame frame

您可以阅读此处了解更多信息 final (Java) 在维基百科上。

【讨论】:

  • 抱歉,前几天才开始发布stackoverflow。
【解决方案2】:

内部本地类对象是在外部类对象的上下文中创建的,如果您将外部类对象引用到您的内部类当方法终止并且在方法执行期间值发生变化时会发生什么?那些局部变量应该保持存在,尽管它们是局部变量。

解决方案是你必须使那些局部变量final。当method 本身终止时,编译器应将variable 复制到其他地方(如果需要)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    相关资源
    最近更新 更多