如何编写一种方法,当按下一个按钮时,return 来自一组按钮的 int?
How can I write a method that return an int from an array of buttons when one is pressed?
我有大量用于获取整数的编号按钮。无论如何我可以写一个激活这些按钮的方法,等到用户点击一个按钮,停用它们,然后 return 按下的整数。
该方法类似于 JOptionPane.showInputDialog,因为当用户进行输入时,它会显示一个 UI 然后 return 一个 int(而不是字符串)。
为什么我要这样做而不是 运行 通过侦听器 class 输出程序?长话短说,这个按钮数组用于为许多不同的目的获取整数,之后运行的代码非常不同,具体取决于按钮在程序中的使用位置。我在侦听器中使用 switch 语句编写了一些代码,以便它运行适当的代码。然而,它越来越难读,写起来也很混乱。拥有一个 return 是我上面描述的 int 的方法将大大简化程序。
您可以删除侦听器并添加新的侦听器。但是如果你想使用 return 值,你可以使用 ArrayBlockingQueue。您添加到按钮的侦听器可以将 int 值放入阻塞队列。然后在您的主线程中,您可以从队列中取出一个值。 take 方法将暂停主线程,直到按下按钮。
我有大量用于获取整数的编号按钮。无论如何我可以写一个激活这些按钮的方法,等到用户点击一个按钮,停用它们,然后 return 按下的整数。
该方法类似于 JOptionPane.showInputDialog,因为当用户进行输入时,它会显示一个 UI 然后 return 一个 int(而不是字符串)。
为什么我要这样做而不是 运行 通过侦听器 class 输出程序?长话短说,这个按钮数组用于为许多不同的目的获取整数,之后运行的代码非常不同,具体取决于按钮在程序中的使用位置。我在侦听器中使用 switch 语句编写了一些代码,以便它运行适当的代码。然而,它越来越难读,写起来也很混乱。拥有一个 return 是我上面描述的 int 的方法将大大简化程序。
您可以删除侦听器并添加新的侦听器。但是如果你想使用 return 值,你可以使用 ArrayBlockingQueue。您添加到按钮的侦听器可以将 int 值放入阻塞队列。然后在您的主线程中,您可以从队列中取出一个值。 take 方法将暂停主线程,直到按下按钮。