扩展JFrame创建新的JFrame对象

时间:2018-07-31 21:45:05

标签: java netbeans jframe extends japplet

我一直在使用JFrames扩展NetBeans上的其他JFrames创建一个相当复杂的applet,并且在从以前的JFrame屏幕访问数据时遇到了问题。看下图:

  1. 我的小程序以一个主屏幕(MainScreen)打开,该主屏幕带有一个用于访问用于编辑.xls页面(EditScore)的新页面的按钮。该页面扩展了一种骨架JFrame(MenuSkeleton),这是EditScore和其他页面(分别称为Edit1Edit2)的通用形式,可以通过{ {1}}。我使用MainScreen是因为这两个页面彼此之间仅稍有不同。

  2. MenuSkeletonMenuSkeleton中打开文件选择器,该文件选择器允许用户选择.xls页面进行编辑,并将该页面的名称保存为整数EditScore(保存在{{ 1}})。因此,xlsNameMenuSkeleton中被初始化为空字符串,但在xlsName中被赋予了新值。

  3. MenuSkeleton有一个按钮,用于打开.xls编辑器(EditScore)。 EditScore扩展了EditingWindow,扩展了EditingWindow,因为:

    -我需要访问WindowSkeleton中的MenuSkeleton

    -xlsName无法扩展WindowSkeleton,因为有时它是通过WindowSkeletonEditScore调用的,甚至没有打开Edit1

我的问题是访问Edit2 ,我可以在MenuSkeleton和EditScore中正常访问EditScore,但是一旦尝试在xlsName.中访问它,或者xlsName,它为空。我猜这意味着在WindowSkeleton中扩展EditingWindow时会创建一个新实例。我有办法访问MenuSkeleton中给出的值WindowSkeleton吗?

感谢您阅读这个荒谬的问题!很抱歉,时间如此长而且令人困惑-我将根据收到的任何建议进行添加/修改。

enter image description here

1 个答案:

答案 0 :(得分:1)

据我了解,EditingWindowEditScore都扩展了MenuSkeleton。但是EditingWindow也扩展了WindowSkeleton。尝试绕过WindowSkeleton,并直接从EditingWindow扩展MenuSkeleton。从两个类(其中一个已经是子类)扩展会引起问题。希望这会有所帮助。