首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向MainFrame内容添加多个组件

如何向MainFrame内容添加多个组件
EN

Stack Overflow用户
提问于 2011-05-13 10:21:03
回答 1查看 671关注 0票数 1

我想做一个有几块嵌板的窗户。我可以将一个附加到大型机的内容中:导入swing._

代码语言:javascript
复制
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
}

但是当我尝试添加另一个时:

代码语言:javascript
复制
    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
    }

它不起作用:

代码语言:javascript
复制
src/View.scala:40: error: type mismatch;
 found   : scala.swing.FlowPanel
 required: String
  contents += controls
              ^
one error found
Error: Build failed.

我该怎么做呢?我试过使用Container,但我不知道如何正确使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-13 10:39:19

正如您已经发现的,MainFrame只能包含一件事。

因此,您需要将parameterscontrols都放入某个容器中,该容器旨在布局多个其他容器。您已经为此使用了FlowPanel --您还可以这样做。或者,Orientation.Vertical方向的BoxPanel可能更符合您的想法。

因此,您将其他容器添加到该BoxPanel中,然后将该BoxPanel设置为MainFrame的内容。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5986630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档