0

我有一个事件来监听我JLabel喜欢的鼠标点击:

private void jLabel4MouseClicked(java.awt.event.MouseEvent evt) { 

...

}

是否可以以某种方式以编程方式调用它?

不,我不希望使用带有doClick():)的按钮

4

2 回答 2

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
}
于 2013-07-24T16:30:24.153 回答
1

机器人可以点击任何地方,所以是的,这是可能的。检查机器人 API,特别是mouseMove(...),mousePress(...)mouseRelease(...).

您需要先获取 JLabel 的屏幕坐标,但这很容易通过它getLocationOnScreen()及其getSize()方法完成。

我很好奇你这样做的动机。

于 2013-07-24T16:27:07.147 回答