2011-05-13 2 views
1

몇 개의 패널로 창을 만들고 싶습니다.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: ") 
     } 

     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. 

방법이해야 내가 서로를 추가 할 때 수입 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 
} 

을하지만 : 나는 메인 프레임의 내용을 하나 추가 할 수 있습니다 내가 그랬어? 나는 컨테이너로 시도했지만 제대로 사용하는 방법을 모른다.

답변

5

MainFrame은 발견 한대로 단 하나만 포함 할 수 있습니다.

따라서 여러 다른 컨테이너를 배치하도록 설계된 일부 컨테이너에는 parameterscontrols을 모두 배치해야합니다. 이미 FlowPanel을 사용했습니다. 다시 시도 할 수 있습니다. 또는 방향 Orientation.VerticalBoxPanel은 아마도 당신이 염두에 두었던 것입니다.

그래서 다른 용기를 BoxPanel에 추가 한 다음 BoxPanelMainFrame의 내용으로 설정합니다.

관련 문제