Как получить значение из JTextField в Java Swing? - PullRequest
34 голосов
/ 22 апреля 2011

Как мы получаем значение из текстового поля и actionPerformed()? Мне нужно преобразовать значение в String для дальнейшей обработки. Я создал текстовое поле, нажав на кнопку. Мне нужно сохранить значение, введенное в String. Можете ли вы предоставить фрагмент кода?

Ответы [ 6 ]

54 голосов
/ 22 апреля 2011
testField.getText()

См. Документ Java для JTextField

Пример кода может быть:

button.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent ae){
      String textFieldValue = testField.getText();
      // .... do some operation on value ...
   }
})
9 голосов
/ 30 января 2015
* 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()

   }
})
7 голосов
/ 22 апреля 2011

Как извлечь значение из текстового поля?

mytestField.getText();

ActionListner пример:

mytextField.addActionListener(this);

public void actionPerformed(ActionEvent evt) {
    String text = textField.getText();
    textArea.append(text + newline);
    textField.selectAll();
}
4 голосов
/ 03 мая 2015

Мне показалось полезным следующее условие:

String tempEmail = "";
JTextField tf1 = new JTextField();

tf1.addKeyListener(new KeyAdapter(){
    public void keyTyped(KeyEvent evt){
         tempEmail = ((JTextField)evt.getSource()).getText() + String.valueOf(evt.getKeyChar());
    }
});
3 голосов
/ 22 апреля 2011
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);
    }
}

сейчас работает

2 голосов
/ 17 декабря 2014

Просто используйте event.getSource() в пределах actionPerformed

Приведите его к компоненту

для Ex, если вам нужен комбинированный список

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

используйте соответствующие API для получения значения,

Например.

Object selected = comboBox.getSelectedItem();  etc.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...