if(clicked == button) {
button.setIcon(image1);
if(clicked == button2) {
button2.setIcon(image2)
button1.setIcon(image0)
}
}
基本上我想要的代码做的,就是在点击“button
”它的形象将被设置为“image1
”和出现这种情况后(特别是不前)如果另一个按钮被点击,它会将该按钮(按钮2)设置为'image2
',并且使第一个按钮显示'image0
'它是“空闲”图像。麻烦与“if语句”内的其他“if语句”
现在如果所有这些都有意义,我想知道为什么点击'按钮'后点击'button2'没有做任何事情的答案。
是的,我有动作侦听器,以及为JLabels等设置的所有内容,我需要帮助的是获取另一个if语句内部的if语句以便在第一个if语句之后'运行',并且仅当点击第一个'button
'。
您不能在同一个点击处理程序中执行此操作。每个点击处理程序仅对单个用户事件起作用并立即返回。然后用户再次点击并调用第二个处理程序。你不能在那里等待下一个事件。你可以做的是记录第一次点击发生的事实(以便后面的处理程序可以对这个“状态”进行操作)。或者可能添加另一个不在之前的点击处理程序。 – Thilo
你已经在按钮1点击事件中应用了按钮2点击事件,所以它不会随时执行,因为它将检查按钮1,然后点击将始终是按钮1,因此它永远不会进入按钮2,如果点击按钮2那么它不会从第一个里面,如果条件,所以这是不正确的逻辑,使之成为可能分开这两个事件和适用于它的标志,然后只有它会工作 – Vickyexpert