java 一个类调用另一个类的方法 怎样控制另一个类的方法执行完再继续执行本类

比如:
要在类A的方法中调用类B的方法(是个构造函数),类B中的方法主要是实现登录功能,要有输入,输入用户名和密码,想在类A的方法中获取类B方法中输入的用户名,然后继续执行类A方法的一些列查询操作。
但是通过执行发现,在类A中并没有真正取到类B中输入的值,而且在调用类B时,弹出登录窗口的同时,调用语句后面的语句已经执行完了。
因此,我怀疑是程序的执行循序有问题。但是不知道应该怎么改。希望能有人帮我解答一下,不胜感激!
如图所示程序,当前为类A,第三行为调用类B,第四行获取输入的用户名。运行时弹出登录界面,但是同时控制台输出第五行代码,为null,说明还没有输入时就已经往下继续执行了。输入一个有效的用户名后,运行结果也没有按照预想的进行。

第1个回答  2014-08-25
好久不玩swing了。但是我感觉你的类划分有问题。你的目的是干什么? 是输入完用户名密码之后点登陆进行你的查询操作呢,还是输入完用户名之后就进行查询操作? 为什么不在监听里面做查询,比如JPasswordFieldDemo里面,button.addActionListener(new ActionListener(){.......});或者再用户名这个文本框上加监听,失去焦点则查询。追问

现在还没有加入密码审核,目前是实现输入用户名就执行查询,在JPasswordFieldDemo里面确实是有监听的,但是主要问题是输入的用户名并没有真正被传递到当前的类中,后面的查询也就无法实现了。

追答

我的感觉是:这边的 JPasswordFieldDemo不应该在A类被new出来。。。调用顺序的问题。@戴圣 这位网友才是正常的逻辑。。

-------------你直接封装一个类只执行 增删改查的逻辑,不要写显示的代码。

追问

谢谢你!真的很感谢!我再想一想。

第2个回答  2014-08-25
在触发事件里边获取获取用户信息哈。你这里是构造窗口的方法。
第3个回答  2014-08-25
我想知道你在什么公司? 居然用swing追问

用swing怎么了?是不是很落后啊……
我还是学生呢!只是做个比较简单的界面,所以觉得用这个比较方便。

追答

java swing出来之后很少有公司再用,所以我很好奇的问题在什么公司,我记得我上学的时候教员就明确的告诉我们 swing了解下就行了 出去工作没有什么用,现在也确实如此,工作3年多了,没见过在公司里有用swing 的 也没听说过哪个公司用这个。

第4个回答  2014-08-25
这是调用先后的问题。把先后问题搞明白了,自然解决了追问

但是第一句是调用,会弹出一个登录界面,还没等输入后面的就已经执行了,不知道为什么。。应该说那个调用语句和后面的输出语句是同时执行的。

相似回答