【发布时间】:2016-08-04 11:55:37
【问题描述】:
我试图在没有任何文本字段的情况下使用 JavaFX(不是控制台)获取用户输入的文本,但我被代码卡住了。基本上我想做的是在登录页面期间,用户将通过按下 USB 中的按钮接收从令牌 USB 自动生成的随机 OTP 字符串,并且当表单处于活动状态时,该字符串将自动与登录页面一起接收涉及的任何文本字段。
我现在能拿出来的presenter的代码是这样的:
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 按钮之前它不会显示登录页面。
感谢任何帮助。谢谢
【问题讨论】:
-
我认为您唯一的选择是听onKeyPressed 并逐个跟踪字符。
-
@sillyfly 问题是这个输入不是来自用户输入的内容,而是由这个令牌 USB 自动生成的,如果我有另一个用户名文本字段,它也会被捕获。
-
大概 USB 令牌像键盘一样操作,发送按键。如果它的工作方式不同,那么您的问题可能应该包含有关它实际工作方式的更多信息。
-
@sillyfly 我认为它的工作原理就像在这种情况下键盘输入一样,最后按下 Enter 按钮。我还是 JavaFX 的新手,所以我不知道如何使用 onKeyPressed 接收用户的文本输入。你能帮忙吗?