java - 等待 ActionListener actionPerformed(使用 Timer?)
问题描述
我正在尝试从 JFrame 填充一个变量,并且在尝试让程序等待执行的操作在继续之前发生时遇到了很大的困难。请参阅下面的代码。
JFrame实现类:
public class Frame extends JFrame implements ActionListener {
static Scanner sc = new Scanner(System.in);
static String s;
static JTextField textfield;
static JButton jButton;
public void showFrame() {
JFrame jf = new JFrame();
textfield = new JTextField("", 10);
jButton = new JButton("Enter");
jButton.addActionListener(new Frame());
JPanel panel = new JPanel();
JLabel jl = new JLabel("Options");
jf.setSize(200, 200);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.add(panel);
panel.add(jl);
panel.add(textfield);
panel.add(jButton);
}
@Override
public void actionPerformed(ActionEvent arg0) {
s = textfield.getText();
}
public String reportVal(){
return s;
}
}
主要 Java 文件:
Frame frame = new Frame();
frame.showFrame();
Timer t = new Timer(1000, frame);
t.start();
int trials = Integer.parseInt(frame.reportVal());
我想用 JFrame 中的值填充试验,但现在线程不等待,所以在我可以单击框架上的输入之前它一直执行。我对 swing/awt 组件了解不多(显然),所以我很感激你能提供的任何帮助。
解决方案
推荐阅读
- intellij-idea - IntelliJ Idea 无法运行 Kotlin 文件
- python - 无法导入已安装的 Python 模块
- html - 如何获取第一个 HTML 元素的文本
- html - 视口元标记问题?样式标签在 eBay 移动视图上不起作用
- php - 如何使用 SLIM 处理多租户?
- c - C链表函数程序遇到分段错误
- android - 将 Powermock 与 kotlin 集成以进行仪器测试
- python - 代码没有按预期循环 - 我为每个 URL 得到相同的结果
- swift - IMAAdsLoader 在 Swift 但不是 Objective C 中出错
- android-recyclerview - recyclerview 水平指示器从右到左