java - 如何获取其他类的值?

标签 java swing

我有名为“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/

相关文章:

Java SE - 自定义按钮(Jcomponent)和 ActionListener?

java - BorderLayout 的 Swing GUI 问题

java - 如何修复模块中的错误取决于一个或多个Android库但是是一个jar?

JavaFX 文本字段监听器

java - 高效更改字符串中的 EOL 字符

java - 如何控制面板的大小

java - 添加到其他 JPanel 时 JPanel 不呈现

java - JTable 不显示列名称

java - 如何通过右键单击鼠标来删除 JLabel 内的图像

java - 从扫描仪获取用户输入时打印到控制台