将JTextField的内容放入变量 - Java&摇摆

时间:2009-11-13 18:47:20

标签: java swing jtextfield

所以我创建了一个小的Java应用程序,我只是想知道如何获取JTextField的内容,然后将值分配给String变量,我认为下面的方法可行:

JTextField txt_cust_Name = new JTextField();
String cust_Name;
txt_cust_Name.addActionListener(new ActionListener() 
{
    public void actionPerformed(ActionEvent e) 
    {
         cust_Name = txt_cust_Name.getText();
    }
});

现在我认为这会将JtextField的值发送到String Cust_Name。

有人有任何想法吗?

干杯。

5 个答案:

答案 0 :(得分:3)

只有在按下Enter键时才会触发ActionListener。

也许您应该使用FocusListener并处理focusLost()事件。

或者您也可以将DocumentListener添加到文本字段的Document中。每次对文本字段进行更改时都会触发DocumentEvent。

答案 1 :(得分:2)

谢谢大家,我选择做的是在按下按钮时分配值:

JButton btn_cust_Save = new JButton("Save Customer");
                       btn_cust_Save.addActionListener(new ActionListener()
                       {
                            public void actionPerformed(ActionEvent ae)
                            {
                                final String cust_Name = txt_cust_Name.getText();
                                final String cust_Door = txt_cust_Door.getText();
                                final String cust_Street1 = txt_cust_Street1.getText();
                                final String cust_Street2 = txt_cust_Street2.getText();
                                final String cust_City = txt_cust_City.getText();
                                final String cust_PCode = txt_cust_PCode.getText();
                                final String cust_Phone = txt_cust_Phone.getText();
                                final String cust_Email = txt_cust_Email.getText();
                            }
                        });

感谢您的帮助。

答案 2 :(得分:1)

你需要实际使用你的字符串变量,你可以说:

String cust_Name = txt_cust_Name.getText();

这假设在您尝试访问此值的时间点已经输入...(与每次按下键时尝试更新变量相反)

答案 3 :(得分:0)

通常,JTextField位于表单上,用户可以使用它,直到他点击表单上的 Ok 按钮。该按钮的处理程序(ActionListener)然后从字段中获取当前文本值并对其执行某些操作。

你想做一些与众不同的事吗?您是否需要在更改时响应输入,或仅在用户离开现场时?或者他点击ENTER很重要吗?

请注意,此类非标准行为可能会使用户在现实生活中感到困惑。当然,如果你只是为自己做这件事,那么事情就会发生。

答案 4 :(得分:0)

我发现这段代码效果很好:

   <script>

    var forbiddenWords = ['Phone', 'Home', 'Address', 'Number', 'Postcode', 'email', 'call','n u m b e r'];
    $(function () {
      $('.msgbox').on('keyup', function(e) {
        forbiddenWords.forEach(function(val, index) {
          if (e.target.value.toUpperCase().indexOf(val.toUpperCase()) >= 0) {
              e.target.value = e.target.value.replace(new RegExp( "(" + val + ")" , 'gi' ), '');
          }
        });
      });
    });

    </script>

}