java – 在Swing中切换面板和传递数据

我刚刚开始使用Swing – 如果这个问题难以理解,我很抱歉,但我觉得这是一个非常简单的事情,但在Swing中看起来非常难.

我有一个带有两个文本字段和一个提交按钮的面板.

我在提交按钮上添加了一个监听器,当它被点击时我验证了数据等.

现在,我希望框架显示一个新面板 – 使用文本字段和提交按钮摆脱当前面板,并根据在文本字段中输入的数据实例化一个新面板.

如何将此数据发送回框架,因此框架可以移除当前面板并将其替换为使用第一个面板中的数据创建的新的不同面板.

虽然这不是我正在做的事情,但它可以被认为是登录.

显示登录面板
Panel获取用户名和密码,验证(验证也可以更高)
如果已验证,请将登录面板替换为真实内容面板

这在Swing中很难理解.我应该定义自己的事件类型并使框架成为该事件的监听器吗?

最佳答案 如果我理解你的问题,你可以使用这样的回调逻辑;

MyLoginPanel login = new MyLoginPanel(new IMyCallback(){

            public void processLogin(){
                //frame can remove the current panel and replace it with a new
            }

        });

> MyLoginPanel从Jpanel扩展,带有Constructor public MyLoginPanel(IMyCallback回调)
> IMyCallback是一个具有public void processLogin()方法的接口.

你可以调用callback.processLogin();来自LoginPanel

对你起作用吗?

点赞