【发布时间】:2014-04-13 21:57:19
【问题描述】:
我是 Java Swing 的新手。
我有两个 Java 文件。一个有main(),另一个是GUI文件。
客户
class Client
{
GUI gui;
public static void main(String args[])
{
//.......... do something.......
gui = new GUI();
// at thin point I want to have value of gui.s1 ....
//but main() actually do not wait for the user input.
}
}
图形界面
class GUI extends JFrame implements ActionListener
{
String s1="";
GUI()
{
JTextField t1= new JTextField(20);
JButton j1= new JButton("submit");
j1.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
s1=t1.getText();
}
}
请指导我,如果问题不合适,请向我推荐您认为我应该阅读以了解概念的文章。
【问题讨论】:
-
点击按钮后你想发生什么?
-
另外,请使用一致的缩进重新格式化您的代码。它将帮助其他人能够阅读它。
-
@Code-Guru :单击按钮后,它应该将字符串存储在 s1(of GUI) 中,然后我想通过 obj.s1(from Client) 获取 s1 值。但问题是 obj.s1 的值是“”(正如我在 GUI 类中初始化的那样)。
-
您需要一个阻塞函数......或回调,如下面的答案中所述。提示 - 使用 callcack,也就是事件处理程序。网络上有大量的阅读材料。甚至有这种关闭的东西的设计模式.... 四人帮。 Anywho - 在 Java 中查找回调和事件,这会让你到达你需要去的地方。
标签: java swing user-interface jframe actionlistener