在按钮单击事件上从文本字段获取值

时间:2012-10-16 16:49:24

标签: swing listener jbutton actionlistener jtextfield

我正在编写一个简单的程序,它使用3 JTextField和2个按钮从用户获取3个值,一个用于Chart,另一个用于Graph。

单击任何一个按钮,从接口获取的值,应该返回给调用函数是必需的。 (即我从控制器调用View并从视图中获取用户的值并期望在控制器中返回) 为此我在里面使用了textfield1.getText()函数:

Button1.addActionListener(new ActionListener() { 
    //Overriding function over here for getting the data
});

事件。最后,我将重新调整用户的ArrayList值。

然而问题是,一旦程序开始运行,它就不会等待按钮点击,而是直接将ArrayList返回给控制器并使用默认值。

感谢您的任何快速帮助..

我对听众很陌生,这可能就是问题的原因..

1 个答案:

答案 0 :(得分:3)

这个问题缺少一些能够真正指出问题的代码,但我认为你认为这个电话是

do A
button.addActionListener( new ActionListener(){
  public void actionPerformed( ActionEvent e ){
    do C
  }
} );
do B

将停止代码执行,直到按下按钮。这是不正确的。

在上面的代码段中,它会执行A,然后将侦听器附加到按钮,并立即继续B。只有在按下按钮时才会触发侦听器代码。因此C仅在按下按钮时执行,该按钮在B之后执行。

Oracle网站上有一个关于ActionListeners的教程。如果您不熟悉所声称的侦听器概念,那么阅读Observer design pattern可能也会有所帮助,这是您在附加侦听器时使用的设计模式。