【发布时间】:2016-01-04 22:08:08
【问题描述】:
基本上我有 n 个 JButton。如果单击其中任何一个,它们将返回一个特定数字。 我有一个包含每个按钮的菜单,当用户单击一个时,我的菜单方法返回 Button 处理程序返回的数字。有可能吗?
类似:
frame.add(button1..)
frame.add(button2..)
frame.add(button3..)
if (button1.isClicked()) {
return button1ActionHandler();
} else if (button2.isClicked()) {
return button2ActionHandler();
} else if (button3.isClicked()) {
return button3ActionHandler();
}
问题是,代码没有等我点击按钮,所以它不会输入任何 if's。如何让程序等待点击?如何检查按钮是否被点击?
【问题讨论】:
-
澄清你所说的“带有每个按钮的菜单”的意思——我根本不清楚。否则你的问题是你试图在 事件驱动 编程环境中使用线性控制台类型编程。
-
带有每个按钮的菜单基本上是......创建一个框架并向其添加按钮。你绝对是对的。我甚至是驱动程序编程的新手,我来自控制台编程,我发现很难想象它是如何工作的。
-
@Melye77 事件驱动编程其实比较简单,但是你需要对系统有一点信任,比如你需要信任那么当一个按钮(那个你注册了
ActionListenerto) 将调用您的ActionListener,当它以某种方式被激活时(点击并通过键盘) -
我确实相信它,但我想以不同的方式使用它。我只关心它是否被点击,因为我需要从一个函数到另一个函数解析一些结果。我的用户必须做出一个重要的选择,而这个特定的选择告诉了我很多信息。我的 actionListener 实际上不需要做太多事情:/ 只是为了在那里。我试着把它放在一段时间内,等待一个按钮被点击,但这只是将我的代码设置在一个无限循环中。我迷路了