使用通配符导入符号,但重命名或忽略其中一些

Import symbols with wildcard, but rename or ignore some of them

除了少数例外,我想导入大多数 Scala Swing 符号。例外是 类,我已经为其提供了自己的实现,例如 ToggleButton,它在 scala.swing 中只有一个基本的实现(没有采用 Action 的构造函数)。

我可以为我的 类 使用不同的名称(例如 ToggleButtonEx),但这使得它们的使用不太自然。

我正在寻找类似的东西:

import scala.swing.{ToggleButton => SToggleButton, _} // import all but ToggleButton
import mydomain.swing._ // contains ToggleButton as well

是否有一些用于导入的模式匹配语法,或其他实现此目的的方法?

您可以使用下划线来排除某些名称。

import scala.swing.{ToggleButton => _, _}
import mydomain.swing._

另一种解决方案是单独导入 ToggleButton。由于单个导入优先于通配符导入,因此对 ToggleButton 的引用将不再含糊不清。

import scala.swing._
import mydomain.swing.{ToggleButton, _}