我想制作几个面板的窗口。我可以将一个附加到MainFrame的内容: 进口摆动._
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,但我不知道如何正确使用它。
答案 0 :(得分:5)
MainFrame
只能包含一件事。
因此,您需要将parameters
和controls
放入一个旨在布置多个其他容器的容器中。您已经使用了FlowPanel
- 您可以再次使用BoxPanel
。或者,方向Orientation.Vertical
中的BoxPanel
可能更符合您的想法。
因此,您将其他容器添加到BoxPanel
,然后将MainFrame
设置为{{1}}的内容。