我有一个事件要在我的JLabel
上监听鼠标点击:
private void jLabel4MouseClicked(java.awt.event.MouseEvent evt) {
...
}
是否有可能以某种方式以编程方式调用此方法?
不,我不想使用doClick()
的按钮:)
答案 0 :(得分:3)
如果您不需要MouseEvent
对象中的任何属性,则可以使用null
值调用它。我建议尽管如果你有代码需要执行而不管单击按钮,创建一个带有相应参数的方法,从单击处理程序调用该方法,然后从需要调用它的其他地方调用。
private void jLabel4MouseClicked(java.awt.event.MouseEvent evt) {
this.Method(evt.getX(), evt.getY());
}
private void Method(int x, int y) {
/// bla
}
答案 1 :(得分:1)
机器人可以在任何地方点击,所以是的,这是可能的。
查看Robot API,特别是mouseMove(...)
,mousePress(...)
和mouseRelease(...)
。
您需要先获取JLabel的屏幕坐标,但这可以通过getLocationOnScreen()
及其getSize()
方法轻松完成。
我很好奇你的动机。