Java 如何在JDialog中访问所有者JFrame的方法

Java 如何在JDialog中访问所有者JFrame的方法,java,swing,jframe,jdialog,Java,Swing,Jframe,Jdialog,我必须创建一个登录名JFrame,并且我需要JFrame拥有的所有JDialog中的用户名。我应该如何实现这一点 我尝试了以下代码 class MyFrame extends Jframe { public getusername() { return username; } createGui() { JButton btnsubmit; btnsubmit.addActionListener(new ActionLi

我必须创建一个登录名
JFrame
,并且我需要
JFrame
拥有的所有
JDialog
中的用户名。我应该如何实现这一点

我尝试了以下代码

class MyFrame extends Jframe {

    public getusername() {
        return username;
    }

    createGui() {
        JButton btnsubmit;
        btnsubmit.addActionListener(new ActionListener() {
            void actionPerformed(ActionEvent e) {
                new MyJDialog(MyFrame.this);
            }
        });
    }
}
JDialog
中,我试图以这种方式使用
getusername()

MyJDialog(JFrame frame) {
    super(frame);
    String us=frame.getusername();
}

但它不起作用。我做错了什么?

getusername
不是
JFrame
的有效方法

您应该在对话框构造函数中指定具体的实现

MyJDialog(MyFrame frame) {...}

您的示例无法编译…如果此用户名将在您的应用程序中多次使用,建议使用
静态字符串
保存用户名。在进行编辑时,我不得不在
createGui()
处畏缩。那怎么可能呢?您需要一个返回类型,最好将其设置为私有:
private void createGui()
。另外,学习@KishanSarsechaGajjar我不会这么说。如果您想在应用程序中同时登录另一个用户,该怎么办?是的,我在这样一个应用程序中工作