我有这个问题:我有一个 ArrayList,其中包含一些我想在特定框架中使用的项目,问题是数组列表通过在主类中初始化而变满我的项目。在本类(class)中,我还启动了与其他框架链接的起始框架(登录框架 -> 中间框架 -> 最后一个框架)。我想携带这个 ArrayList ,而不必在所有帧中携带它,并从 main --> 最后一帧直接使用它。我怎样才能做到这一点?
编辑
我做了什么,就像第一帧以这个 ArrayList 作为参数开始:
Jframe jf = new LoginFrame(arraylistvariable,"Login Window");
然后,在创建新框架、处理旧框架的按钮上的所有 ActionListener
调用中,我将其设置为:
Jframe jo = new MiddleFrame(arraylistvariable,"Middle Window");
在整个框架中传递此变量,但我希望它只能由需要此变量的框架调用,因为登录框架不需要此变量。但需要通过登录框来启动程序。
最佳答案
"However, it is necessary to start the program by the login frame."
不,不是。
public class MiddleFrame() {
private LoginFrame;
}
...
public static void main(String[] args){
new MiddleFrame();
}
使中间框架在实例化时不可见,但使 LoginFrame
可见。如果登录成功,但使MiddleFrame
可见。
注意您不需要使用很多框架。利用JDialogs
。请参阅 How to make a Login with a JDialog 的答案
关于java:如何将变量从起始 JFrame 传递到最后一个 JFrame,而不必将其传递到所有 JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21387777/