gpt4 book ai didi

JavaFX等待用户输入的文本,没有任何文本字段

转载 作者:行者123 更新时间:2023-11-30 02:50:39 25 4
gpt4 key购买 nike

我试图使用JavaFX(不是使用控制台)获取没有任何文本字段的用户输入文本,但我被代码困住了。基本上我想做的是,在登录页面期间,用户将通过按下 USB 中的按钮接收从 token USB 自动生成的随机 OTP 字符串,并且当表单处于 Activity 状态时,该字符串将自动随登录页面一起接收,而无需涉及的任何文本字段。

我现在可以提出的演示者代码如下:

public class LoginBoxPresenterFinal implements Initializable {

...
public void initialize(URL arg0, ResourceBundle arg1) {
....
Scanner reader = new Scanner(System.in);
String otp = reader.nextLine();
System.out.println(otp);
}}

这段代码实际上是错误的,因为扫描仪只会接收 Eclipse 控制台中的输入,并且直到我在控制台中输入内容并按 Enter 按钮后才会显示登录页面。

感谢任何帮助。谢谢

最佳答案

先生,我可以帮助您。

Stage s = new Stage(StageStyle.DECORATED);//suppose this is your stage
s.initModality(Modality.APPLICATION_MODAL);
p = new Pane();
p.setStyle("-fx-background-color: yellow");
s.setScene(new Scene(p,150,150));
s.show();
s.addEventFilter(KeyEvent.KEY_RELEASED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent t) {
if(t.getCode().equals(KeyCode.ENTER)){
//this is when the user clicks enter meaning he is done or something
//like that
}else{
//here the code detect keycodes other than enter to get them
KeyCode kc = t.getCode();
//now store kc somewhere and use it.
}
t.consume();//the consume here is because i do not want
//the TextField to hear about the keypressed.
//remove it if you want it to be notified
}
});

这就是代码的工作方式,因为您不希望 TextField 中断在您的 Stage 上调用添加事件过滤器,Stage 将首先收到 USB 键盘按下的任何按键的通知。就是这样,非常简单

希望对你有帮助

关于JavaFX等待用户输入的文本,没有任何文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38766656/

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