我是Swing的新手,我创建了一个带有按钮和文本字段的简单GUI类.这个类中有一个方法String createAndShowUI(),我希望它返回文本字段的文本.我创建了另一个调用此方法的主类,并期望返回文本字段的文本.不过我的问题是这个方法不等待用户输入文本字段并单击按钮; 一旦调用GUI就会返回.我希望它等待按钮点击.
// TestSwing.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TestSwing extends JPanel implements ActionListener {
JButton submit;
JTextField t1;
String msg = "No Msg";
public TestSwing() {
submit = new JButton("Submit");
t1 = new JTextField(10);
submit.addActionListener(this);
setLayout(new FlowLayout());
add(t1);
add(submit);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == submit) {
msg = t1.getText();
}
}
public String createAndShowUI() {
JFrame f = new JFrame("Sample frame");
f.add(new TestSwing());
f.pack();
f.setVisible(true);
return msg;
}
}
//Main.java …Run Code Online (Sandbox Code Playgroud)