如何获得其他课程的价值?

时间:2015-09-17 01:26:33

标签: java swing

我有名为“Login”的JFrame和另一个JPanel“AddItemJpanel”。 所以我想将用户登录名用于AddItemJpanel。 这是我如何尝试它的dosnt传递任何值。

public class login{

public String getUserName() {
        String n=txtUserName.getText();
        return n;
    }
}

这是我获取用户名的另一个Jpanel代码,并希望将其设置为jLabel。我在costructer中调用了此方法名称。

public void setNameToInvoice(){
           Login l = new Login();
           String n = l.getUserName();
           lblCustomerName.setText(n);
}

有人可以帮我这样做吗?

1 个答案:

答案 0 :(得分:1)

我假设当您调用Login类时,它会显示一个窗口,提示用户输入一些信息,但是当您使用它时,Login#getUserName没有返回您所期望的内容?

这是因为JFrame是无阻塞的,也就是说,一旦你使框架可见,代码将继续执行你方法中剩下的东西。这是事件驱动编程的本质。

您可以使用模式对话框,而不是使用JFrame,该对话框在可见时将阻止代码在可见的位置执行,直到对话框关闭。之后,您可以在对话框中查询所需信息

有关详细信息,请查看How to Make Dialogs