2011-05-13 53 views
1

我想使用少量面板創建窗口。我可以追加一個大型機的內容: 進口swing._如何將多個組件添加到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. 

應該如何我這樣做?我嘗試了一個容器,但我不知道如何正確使用它。

回答

5

MainFrame,正如你所發現的,只能包含一件事情。

因此,您需要將parameterscontrols放置在某個設計用於佈置多個其他容器的容器中。您已經爲此使用了FlowPanel - 您可以再次這樣做。或者,方向Orientation.VerticalBoxPanel可能更符合您的想法。

因此,您將其他容器添加到該BoxPanel,然後將BoxPanel設置爲MainFrame的內容。

相關問題