gpt4 book ai didi

java - 从 JTextField 创建 'BufferedReader'

转载 作者:行者123 更新时间:2023-12-02 06:43:17 26 4
gpt4 key购买 nike

我对 Java 相当陌生,我需要为 JTextField 创建一个“BufferedReader”。需要发生的是,当程序调用我的 getText() 方法时,它需要等待,直到收到来自 Enter 键事件处理程序的输入。如果我做类似的事情:

String input = null;
while(true) {
if(!input.equals(null)) {
break;
}
}

我收到 nullpointerexception 错误。我考虑过,并确定由于 getText() 必须将数据返回到调用它的方法,因此我必须像 getText()< 内的嵌套方法一样运行 方法,这样就可以运行代码来运行数据。有什么想法吗?

最佳答案

这不是 Swing(或任何 UI 框架)的工作方式。首先看一下Concurrecy in Swing为什么你不应该阻塞事件调度线程......

Swing 是一个事件驱动的环境。用户单击鼠标,引发事件。用户按下一个键,并引发事件。

Swing 不使用循环或轮询,而是使用“监听器”,这是 Observer Pattern 的一种形式。 .

这允许您将回调接口(interface)附加到对象,它会告诉您何时发生了某些事情。

看看Writing Event Listeners了解更多示例。

如果您需要知道用户何时按下 Enter,您应该将 ActionListener 附加到 JTextField。当用户按下 Enter

时,它将触发 actionPerformed 事件

参见How to write an Action Listener了解更多详情

关于java - 从 JTextField 创建 'BufferedReader',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com