我想做一个有几块嵌板的窗户。我可以将一个附加到大型机的内容中:导入swing._
class View(model:Model) extends MainFrame {
title = "app"
val parameters = new FlowPanel() {
contents += new Label("Tempo: ")
contents += new ComboBox(Seq("80", "100", "120", "140"))
contents += new Label("Metric: ")
contents += new Label("Note: ")
}
contents = parameters
}但是当我尝试添加另一个时:
class View(model:Model) extends MainFrame {
title = "app"
val parameters = new FlowPanel() {
contents += new Label("Tempo: ")
contents += new ComboBox(Seq("80", "100", "120", "140"))
contents += new Label("Metric: ")
contents += new Label("Note: ")
}
val controls = new FlowPanel() {
contents += new Button( "klop" )
}
contents = parameters
contents += controls
}它不起作用:
src/View.scala:40: error: type mismatch;
found : scala.swing.FlowPanel
required: String
contents += controls
^
one error found
Error: Build failed.我该怎么做呢?我试过使用Container,但我不知道如何正确使用它。
发布于 2011-05-13 10:39:19
正如您已经发现的,MainFrame只能包含一件事。
因此,您需要将parameters和controls都放入某个容器中,该容器旨在布局多个其他容器。您已经为此使用了FlowPanel --您还可以这样做。或者,Orientation.Vertical方向的BoxPanel可能更符合您的想法。
因此,您将其他容器添加到该BoxPanel中,然后将该BoxPanel设置为MainFrame的内容。
https://stackoverflow.com/questions/5986630
复制相似问题