Возможно, вы на самом деле не хотите JTextField. Похоже, вы ожидаете строку ввода от пользователя, которая действительно должна быть JOptionPane. Как это сделать описано здесь:
http://download.oracle.com/javase/tutorial/uiswing/components/dialog.html#input
По сути, JOptionPane.showInputDialog () вызовет всплывающее окно с текстовым полем и кнопками OK / Cancel, и если вы нажмете ввод, оно примет ваш ввод. Это устраняет необходимость в другом классе.
Вы бы поместили его в метод inputData ():
inputData()
{
String input = JOptionPane.showInputDialog(...);
//input is whatever the user inputted
}
Если это не то, что вы ищете, и вы хотите, чтобы текстовое поле оставалось открытым, возможно, вам действительно нужна кнопка «Отправить» рядом с вашим JTextField, которая позволяет пользователю решать, когда отправлять текст. В этом случае вы могли бы иметь:
class B extends JFrame
{
private A myA;
private JTextField input;
private JButton submitButton;
public B()
{
submitButton.addActionListener(new SubmitListener());
}
private class SubmitListener
{
//this method is called every time the submitButton is clicked
public void actionPerformed(ActionEvent ae)
{
myA.sendInput(inputField.getText());
//A will need a method sendInput(String)
}
}
}