applet类的ScalaDoc在有关如何实际覆盖ui件和添加组件的细节上非常薄。它说:“客户端应实现ui字段。有关示例,请参见SimpleApplet演示。”
这个SimpleApplet演示在哪里?
除此以外,是否有人拥有使用Scala Applet类而不是直接使用JApplet类的简单源代码?
谢谢
最佳答案
more recent ScalaDoc可能会有所帮助(特别是新版本的ScalaDoc可让您显示/隐藏具体成员,以便您专注于必须实现的内容)。
应该注意的是,您不必定义名为ui的对象来扩展UI。 ScalaDoc所说的更准确,更灵活-“实现ui字段”。由于Uniform Access Principle,您可以自由地将ui字段实现为val
或object
(类似地,您可以使用val
或var
来实现def
)。唯一的限制(在ScalaDoc中反映为val ui : UI
)是
ui必须是一个UI,并且
对ui的引用必须是不可变的
例如:
class MainApplet extends Applet {
val ui = new MainUI(Color.WHITE)
class MainUI(backgroundColor: Color) extends UI {
val mainPanel = new BoxPanel(Orientation.Vertical) {
// different sort of swing components
contents.append(new Button("HI"))
}
mainPanel.background = backgroundColor // no need for ugly _=
contents = mainPanel
def init(): Unit = {}
}
}