我有名为“Login”的 JFrame 和另一个 JPanel“AddItemJpanel”。 所以我想使用用户登录名来 AddItemJpanel。 这是我尝试的方法,但它不传递任何值。
public class login{
public String getUserName() {
String n=txtUserName.getText();
return n;
}
}
这是我的另一个 Jpanel 代码,用于获取用户名并希望将其设置为 jLabel。我已在构造函数中调用了此方法名称。
public void setNameToInvoice(){
Login l = new Login();
String n = l.getUserName();
lblCustomerName.setText(n);
}
有人可以帮我做这件事吗?
最佳答案
我假设当您调用 Login
类时,它会显示一个窗口,提示用户输入一些信息,但是当您使用它时,Login#getUserName
没有返回您期望的结果?
这是因为 JFrame
是非阻塞的,也就是说,一旦您使框架可见,代码将继续执行方法中剩下的内容。这就是事件驱动编程的本质。
您可以使用模态对话框来代替 JFrame
,该对话框在可见时会在可见时阻止代码执行,直到对话框关闭。之后您可以在对话框中查询您需要的信息
看看How to Make Dialogs了解更多详情
关于java - 如何获取其他类的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32621226/