IllegalArgumentException:尝试拖动弹出窗口时参数类型不匹配

时间:2019-07-06 14:55:56

标签: javafx drag popupwindow

当我尝试拖动弹出窗口时,出现异常:

nil

我在SceneBuilder中设计了弹出窗口,并为锚定窗格添加了两种方法:

  1. java.lang.IllegalArgumentException: argument type mismatch ->返回弹出窗口的位置
  2. setOnMousePressed->返回异常。

第一种方法可以正常工作,第二种则不能。 尽管已经讨论了该主题,但由于找不到解决方案,因此非常感谢您的帮助。

弹出窗口的代码:

setOnMouseDragged

1 个答案:

答案 0 :(得分:0)

Node#onMouseDragged属性的EventHandler处理MouseEvent,而不处理MouseDragEvent。前者不能转换为后者。

  

onMouseDragged

public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseDraggedProperty
     

定义在此Node上按下鼠标按钮并拖动时要调用的函数。

使用:

@FXML
void setOnMouseDragged(MouseEvent event) { /* code */ }

应该解决IllegalArgumentException


请注意,setOnMouseDraggedsetOnMousePressed是未设置事件处理程序,而是实际处理其各自事件的方法的奇怪名称。