我想使用ScalaJemmyFX Framework
中编写的Java
. 但是有几个问题我无法解决。
在java
中,如果我想用 Wrapper 搜索标签,我可以这样做:
Wrap<? extends Label> label = Root.ROOT.lookup().wrap().as(Parent.class, Node.class).lookup(Label.class).wrap();
如果我想在 Scala 中这样做,我没有得到有效的解决方案。我已经以这种方式尝试过:
val label: Wrap[_<:Label] = Root.ROOT.lookup().wrap().as(classOf[Parent[_<:Label]], classOf[Node]).lookup(classOf[Label]).wrap()
但随后 scala 告诉我: - 推断的类型参数[javafx.scene.Node,org.jemmy.interfaces.Parent[_ <: javafx.scene.control.Label]]
不符合方法的类型参数边界
[TYPE,INTERFACE <: org.jemmy.interfaces.TypeControlInterface[TYPE]]
方法“作为”:
public <TYPE, INTERFACE extends TypeControlInterface<TYPE>> INTERFACE as(Class<INTERFACE> interfaceClass, Class<TYPE> type)
方法“查找”:
public abstract <ST extends T> Lookup<ST> lookup(Class<ST> paramClass);
“父”类:
public abstract interface Parent<T> extends TypeControlInterface<T>
所以我不明白,我如何在scala中使用这些接口。有什么解决方案,或者scala和java之间的使用有限制吗?