Получение содержимого JTextField, например, сканера
Я пытаюсь настроить графический интерфейс для моей программы, и она работает в основном. Тем не менее, я хотел бы иметь возможность создать метод, который работает так же, как Scanner 's nextLine (); он ждет ввода от моего JTextField, а затем возвращает его. Казалосьэтот вопрос был очень похож на мой, но не ждал пользователявход. Вот мой графический интерфейстекущий код: я
package util;
import java.awt.Font;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import com.jgoodies.forms.factories.DefaultComponentFactory;
public class Gui {
public JFrame frame;
private JTextField textField;
private final JLabel lblVector = DefaultComponentFactory.getInstance().createTitle("Please type commands below.");
private JScrollPane scrollPane;
private JTextArea textArea;
/**
* Create the application.
*/
public Gui() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
public void print(String text){
textArea.append(text+"\n");
}
public String getInput()
{
String input = textField.getText();
textField.setCaretPosition(0);
return input;
}
private void initialize() {
frame = new JFrame("Vector");
frame.setBounds(100, 100, 720, 720);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField = new JTextField();
frame.getContentPane().add(textField, BorderLayout.SOUTH);
textField.setColumns(10);
frame.getContentPane().add(lblVector, BorderLayout.NORTH);
scrollPane = new JScrollPane();
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
textArea = new JTextArea();
textArea.setFont(new Font("Monospaced", Font.PLAIN, 15));
textArea.setEditable(false);
scrollPane.setViewportView(textArea);
}
}
Я хотел бы иметь возможность назвать это так:
String menus = gui.getInput();
или такой; Я'мы уже установили переменную gui как новый Gui ().
Из моих поисков яЯ понял, что это может включать либо DocumentListener, либо ActionListener, либо и то и другое.