Swing和JavaFX:如何将JavaFX MouseEvent转换为Swing MouseEvent?

问题描述 投票:0回答:1

SwingUtilities具有很好的功能convertMouseEvent,用于将组件上的鼠标事件转换为另一组件上的鼠标事件:

MouseEvent convertedEvent = SwingUtilities.convertMouseEvent(originalComponent, event, otherComponent);

同时,JavaFX中的MouseEvent具有方法copyFor为另一个组件创建MouseEvent的副本:

MouseEvent convertedEvent = e.copyFor(e.getSource(), otherComponent);

我想做类似的事情将JavaFx MouseEvent e转换为Swing鼠标事件。

我找不到内置函数,因此我尝试编写自己的函数。我无法轻易转换两个字段:

  • 标识事件的ID字段。我认为我必须手动从e.getEventType().getEventType().getName()
  • 转换
  • 在JavaFX中,没有“ when”属性指示事件发生的时间。看来我可以在这里使用当前系统时间
  • 鼠标事件的修饰符。我不确定如何从JavaFX事件的属性中构建它们]
  • 是否有办法从e的属性中获取修饰符?

软件包SwingUtilities具有很好的功能convertMouseEvent,可以将组件上的鼠标事件转换为另一个组件上的鼠标事件:MouseEvent convertEvent = SwingUtilities ....

java swing javafx mouseevent
1个回答
0
投票

SwingEvents中的功能可能有用。

© www.soinside.com 2019 - 2024. All rights reserved.