【问题标题】:How can I access a method of owner JFrame in a JDialog如何在 JDialog 中访问所有者 JFrame 的方法
【发布时间】:2014-01-13 06:27:16
【问题描述】:

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

我尝试了以下代码。

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();
}

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

【问题讨论】:

  • 您的示例无法编译...
  • 如果这个用户名要在你的App中使用多次,建议使用static String保存用户名。
  • 在进行编辑时,我不得不对createGui() 感到畏缩。这怎么可能起作用?您需要一个返回类型,最好将其设为私有:private void createGui()。另外,学习indent your code
  • @KishanSarsechaGajjar 我不会这么说的。如果您想在应用程序中同时登录另一个用户怎么办?是的,我在执行此操作的应用程序中工作

标签: java swing jframe jdialog


【解决方案1】:

getusername 不是JFrame 的有效方法。

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

MyJDialog(MyFrame frame) {...}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2015-08-03
    • 2014-03-22
    相关资源
    最近更新 更多