有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java以编程方式调用单击JLabel

我在我的JLabel上有一个活动要听鼠标点击,比如:

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

...

}

有没有可能通过编程方式调用这个函数

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


共 (2) 个答案

  1. # 1 楼答案

    如果不需要来自MouseEvent对象的任何属性,那么可以使用null值调用它。不过,我建议,如果不管点击按钮,都需要执行代码,那么创建一个带有相应参数的方法,从点击处理程序调用该方法,然后从需要调用该方法的其他地方调用该方法

    private void jLabel4MouseClicked(java.awt.event.MouseEvent evt) { 
        this.Method(evt.getX(), evt.getY());
    }
    
    private void Method(int x, int y) {
      /// bla
    }
    
  2. # 2 楼答案

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

    您需要首先获取JLabel的屏幕坐标,但这很容易通过它的getLocationOnScreen()getSize()方法实现

    我很好奇你这么做的动机