如何在Java Swing中从JTextField中检索值?

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

 testField.getText() 

请参阅JTextField的java doc

示例代码可以是:

 button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ String textFieldValue = testField.getText(); // .... do some operation on value ... } }) 
 * 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() } }) 

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

 mytestField.getText(); 

ActionListner示例:

 mytextField.addActionListener(this); public void actionPerformed(ActionEvent evt) { String text = textField.getText(); textArea.append(text + newline); textField.selectAll(); } 
 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); } } 

现在它的工作

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

将其投射到组件

对于Ex,如果你需要combobox

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

使用适当的api来获取价值,

对于前。

 Object selected = comboBox.getSelectedItem(); etc. 

我发现有用的是这种情况如下。

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