是否可以模拟按钮上的点击,类似于doClick(),但只是图形模拟它,而不是生成任何ActionEvent。如果知道我可以扩展类,请使用简单的if语句执行自己的doClick。但是还有其他可能吗?
我想要这个,因为我有一个按钮,用户可以按,但有时计算机(它在游戏中)“按下”按钮。所有逻辑都在另一个线程中完成,我只想为用户显示它。
答案 0 :(得分:1)
如果您深入了解您正在使用的外观和细节,您可能会看到它如何检测并将按钮绘制为“向下”状态,然后模拟它?
或者你可以扩展/实现ButtonModel,并搞乱setPressed / isPressed状态?
答案 1 :(得分:1)
我认为最简单的解决方案是只检查
ActionListener
中的模型。
我没有办法区分这两者;该模型对谁调用其方法一无所知。相反,您可以保存所有侦听器,调用doClick()
并恢复侦听器。看起来您必须检查操作,更改和项目侦听器。
答案 2 :(得分:0)
如果您想点击按钮,请尝试:
try
{
robot = new Robot();
robot.mouseMove(0,500);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}catch(Exception e){}
但是,当用户不应该点击它时,您可能更愿意禁用该按钮
Button.setEnabled(false);
答案 3 :(得分:0)
您可以设置是否启用,因此请使用“buttonName.setEnabled(false);”