我试图从Color
导入javafx
类,并在scala类中使用它。
但是当我在其他地方使用我的课程时,会出现此错误:
Error:(9, 50) type mismatch;
found : javafx.scene.paint.Color
required: drawingengine.Color
代码如下:
package drawingengine
import javafx.scene.paint.Color
sealed class Pixel(x: Int, y: Int, color: Color);
我可以将第3行更改为:
sealed class Pixel(x: Int, y: Int, color: javafx.scene.paint.Color);
但是我认为这有点丑陋,所以使用导入的类不是更好的方法吗?
我也收到此警告
imported `Color' is permanently hidden by definition of object Color in package drawingengine
import javafx.scene.paint.Color
和IntelliJ将导入线显示为灰色,就像未使用导入线一样。
我可以看到others遇到了同样的问题,但是我没有看到所示示例如何适用于我的工作。 那我该怎么办?
答案 0 :(得分:2)
这意味着您已经在同一包Color
中定义了自己的drawingengine
类,并且该类正在与JavaFX碰撞。
这个
javafx.scene.paint.Color
修复了该问题,因为您明确使用了限定名。
如果要同时维护它们,则可以为JavaFX加上别名
import javafx.scene.paint.{Color => FxColor}
并像使用它
sealed class Pixel(x: Int, y: Int, color: FxColor);