【问题标题】:How to Retrieve value from JTextField in Java Swing?如何从 Java Swing 中的 JTextField 中检索值?
【发布时间】:2011-08-10 18:32:54
【问题描述】:

我们如何从文本字段和actionPerformed() 中检索值?我需要将该值转换为String 以进行进一步处理。我在单击按钮时创建了一个文本字段,我需要将输入的值存储到 String 中,您能提供一个代码 sn-p 吗?

【问题讨论】:

  • 您尝试阅读 javadoc 了吗?
  • 它是重复的。也许不是一个问题。但这不是一个新问题。 Getting text & Adding action listener。另外,我敢肯定,如果您会在 Google 上搜索它,甚至还有您所描述的示例。
  • 从 JTextfield 中获取价值非常容易..尝试阅读 java doc........它将帮助您开发程序..

标签: java swing


【解决方案1】:
testField.getText()

请参阅JTextField 的 java 文档

示例代码可以是:

button.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent ae){
      String textFieldValue = testField.getText();
      // .... do some operation on value ...
   }
})

【讨论】:

    【解决方案2】:
    * First we declare JTextField like this
    
     JTextField  testField = new JTextField(10);
    
    * We can get textfield value in String like this on any button click event.
    
    button.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent ae){
          String getValue = testField.getText()
    
       }
    })
    

    【讨论】:

      【解决方案3】:

      我们如何从文本字段中检索值?

      mytestField.getText();
      

      ActionListner 示例:

      mytextField.addActionListener(this);
      
      public void actionPerformed(ActionEvent evt) {
          String text = textField.getText();
          textArea.append(text + newline);
          textField.selectAll();
      }
      

      【讨论】:

      • @trashgod : 它只是 "\n" 字符串
      • 所以像String newline = System.getProperty("line.separator"); 这样的东西可能是正确的?
      【解决方案4】:
      import java.awt.*;
      import java.awt.event.*;
      import javax.swing.*;
      
      public class Swingtest extends JFrame implements ActionListener
      {
          JTextField txtdata;
          JButton calbtn = new JButton("Calculate");
      
          public Swingtest()
          {
              JPanel myPanel = new JPanel();
              add(myPanel);
              myPanel.setLayout(new GridLayout(3, 2));
              myPanel.add(calbtn);
              calbtn.addActionListener(this);
              txtdata = new JTextField();
              myPanel.add(txtdata);
          }
      
          public void actionPerformed(ActionEvent e)
          {
              if (e.getSource() == calbtn) {
                  String data = txtdata.getText(); //perform your operation
                  System.out.println(data);
              }
          }
      
          public static void main(String args[])
          {
              Swingtest g = new Swingtest();
              g.setLocation(10, 10);
              g.setSize(300, 300);
              g.setVisible(true);
          }
      }
      

      现在开始工作了

      【讨论】:

      • 重新格式化的代码;如果不正确请还原。不幸的是,这不能编译。
      • 请不要大喊大叫;它让你听起来很生气。即使忽略缺少的导入,您似乎也缺少构造函数。我可以帮你解决吗?
      • 你了解如何从文本框中获取价值,所以没问题
      • 不,这更糟;我正在努力帮助改进这个答案。您似乎在声明 class serverfact 并实例化名为 VIEWBTN 的东西。这两个名字都没有使用我熟悉的风格。
      • 哈哈 ...这很酷,指挥赞成票 ;-) 顺便说一句:你应该坚持 java 命名约定
      【解决方案5】:

      我发现下面的这个条件很有帮助。

      String tempEmail = "";
      JTextField tf1 = new JTextField();
      
      tf1.addKeyListener(new KeyAdapter(){
          public void keyTyped(KeyEvent evt){
               tempEmail = ((JTextField)evt.getSource()).getText() + String.valueOf(evt.getKeyChar());
          }
      });
      

      【讨论】:

      • 有一个问题:控制键。一旦你击中它们,它们就会被打印出来。例如,CONTROL、ALT、BACK 等。所有这些键都将打印在您的字符串中。
      【解决方案6】:

      只需在actionPerformed 中使用event.getSource() frim

      将其投射到组件中

      Ex,如果你需要组合框

      JComboBox comboBox = (JComboBox) event.getSource();
      JTextField txtField = (JTextField) event.getSource();
      

      使用合适的api获取值,

      例如

      Object selected = comboBox.getSelectedItem();  etc.
      

      【讨论】:

        【解决方案7】:

        您可以在代码中由对象实例调用的任何地方使用 getText() 方法,因此您可以在 calass 中的任何地方使用该方法

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-02-07
          • 2018-11-06
          • 2015-06-01
          • 1970-01-01
          • 2022-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多