比如:
要在类A的方法中调用类B的方法(是个构造函数),类B中的方法主要是实现登录功能,要有输入,输入用户名和密码,想在类A的方法中获取类B方法中输入的用户名,然后继续执行类A方法的一些列查询操作。
但是通过执行发现,在类A中并没有真正取到类B中输入的值,而且在调用类B时,弹出登录窗口的同时,调用语句后面的语句已经执行完了。
因此,我怀疑是程序的执行循序有问题。但是不知道应该怎么改。希望能有人帮我解答一下,不胜感激!
如图所示程序,当前为类A,第三行为调用类B,第四行获取输入的用户名。运行时弹出登录界面,但是同时控制台输出第五行代码,为null,说明还没有输入时就已经往下继续执行了。输入一个有效的用户名后,运行结果也没有按照预想的进行。
按照你的代码,最简单但笨拙的解决方案如下:
//method reco最好的做法是给登陆窗口中的登陆按钮触发事件时调用后续的登陆查询逻辑
看了下,你说好像去登陆框里的值有问题,取不到,可以这样封装个方法在类JPasswordFieldDemo
然后在当前类中recommend中
String reader_id=JP.reader_id 改成
String reader_id=JP.getLoginName();
类似这种
在调用另一个类的方法下面接着写本类需要执行的方法。
1、定义2个类
2、A类调用B类
你希望是同步(阻塞)的,但实际上是异步调用的。
如果只是想控制流程,可以这么写:
String reader_id = null;谢谢!感觉这样也不行啊,我再想想吧。
追答好吧,记着点个赞~
追问怎么点啊?没有看到哇!
口头表扬吧,赞!
哈哈,没白忙活就好
首先非常感谢!
System.out.println(reader_id);输出的结果是null。
取值赋值的代码是reader_id=username.getText(); 其中reader_id是类B中构造函数的成员变量,username是用来保存在登录界面输入的用户名的。
这个代码应该是没有问题的。
System.out.println(reader_id);输出的结果是null。——这就是说明你的取值赋值没有写对
这里你是使用登陆按钮控制取值的,你检查下你登陆按钮的动作部分关于赋值的代码
那样更乱,我试过了,没有成功。
因为需要B类中输入用户名,然后才能继续在类A中执行,执行完的结果还要送给类B来输出。