java通过JFrame是否可以接受?

java通过JFrame是否可以接受?,java,swing,jframe,Java,Swing,Jframe,我有一个类扩展了JFrame 然后我把它赋给一个变量 JFrame frame = this; 现在我需要将这个框架传递给一个名为LoginListener的actionListener类,但要做到这一点,我需要首先将它传递给一个扩展JPanel的类AppLoginComponents,这个类有一个LoginListener的实例(信息,签名,框架) 所以是这样的 类扩展框架->AppLoginComponents->LoginListener 我这样做的原因是,如果用户在2分钟内没有登录,L

我有一个类扩展了JFrame

然后我把它赋给一个变量

JFrame frame = this;
现在我需要将这个框架传递给一个名为LoginListener的actionListener类,但要做到这一点,我需要首先将它传递给一个扩展JPanel的类AppLoginComponents,这个类有一个LoginListener的实例(信息,签名,框架)

所以是这样的

类扩展框架->AppLoginComponents->LoginListener


我这样做的原因是,如果用户在2分钟内没有登录,LoginListener需要退出应用程序。我正计划处理这个框架。我不认为静态变量是理想的,是吗

不,不要使用静态变量。是的,传递参考资料是可以的。您还可以通过名为
getwindowsensort(Component c)
SwingUtility
方法获取对包含顶层窗口的引用


但这引出了一个问题——为什么类要扩展JFrame?是否重写JFrame的任何方法?

仅重写add、setSize、setVisible和pack方法。我不知道你的祖先,谢谢!是更倾向于传递引用还是使用SwingUtility的GetWindowSenator?因此您实际上是在重写这些方法,而不是简单地在类的构造函数中调用它们?我不知道哪一个更倾向于诚实。我认为在GUI呈现(在顶级窗口上调用pack()或setVisible(true))之前,您不能调用GetWindow祖先,否则您可能会得到null。很抱歉,我没有重写JFrame方法,是的,我在类构造函数中调用它们。