【问题标题】:TextArea Not growing when expanding scene in ScalaFx在ScalaFx中扩展场景时TextArea没有增长
【发布时间】:2015-12-31 18:03:41
【问题描述】:

我一直在尝试将我最初用 Java 用 Swing 编写的一个学校项目转换为用 ScalaFX 的 Scala。 GUI 基本上是一个带有按钮和搜索输入的顶部栏,而栏的底部是一个 TextArea,它将显示按钮的输出。 This 是应用程序在启动时的样子。问题是当我用鼠标扩展舞台时,TextArea 的大小保持不变。 Here 就是一个例子。我尝试查找有关 ScalaFX 的特定帮助,但感觉那里的文档相当薄,所以我不得不将我的研究重点放在 JavaFX 上。我在这里找到了一篇关于使用 HBox 在我用鼠标拉伸舞台时扩展我的文本框的帖子,但它似乎不起作用。当用鼠标拉伸舞台时,有没有办法让 TextArea 的大小缩放?我已经在下面添加了 HBox 的 GUI 代码。

object SorcerersCave extends JFXApp{
  val informationText: TextArea = new TextArea()

  stage = new PrimaryStage {
      title = "Sorcerers Cave"
      val searchBy = new ComboBox[String](List("Index", "Name", "Type")){
        value = "Index"
      }
      val resizeableBox = new HBox(informationText){
        hgrow = Priority.Always
      }
      val searchInput = new TextField() {prefWidth = 100}
      val buttonPane = new FlowPane {
        hgap = 5
        children = Seq(new Button("Read") { onAction = handle { readFile }} ,
                       new Button("Display"){ onAction = handle { displayCave() }},
                       searchBy,
                       new Label("Search target:"),
                       searchInput,
                       new Button("Search"){ onAction = handle { search(searchInput.getText.toLowerCase.trim, searchBy.toString()) }}
        )
      }
      scene = new Scene {
        content = new BorderPane {
             top = buttonPane
             center = resizeableBox
        }
      }
  }
}

【问题讨论】:

    标签: scala textarea scalafx


    【解决方案1】:

    在 JavaFX 中,当创建 Scene 时,必须指定根节点为 Parent。 ScalaFX 为Scene 提供了一个默认承包商,将Group 指定为根节点。在 ScalaFX 中,Scene#content 是访问根节点子节点的快捷方式,默认情况下它们是 Group 的子节点。

    在您的情况下,由于Group 的大小调整行为,您不希望将Group 作为根节点。

    你场景的根节点应该是你的BorderPane,所以把它分配给root而不是content

    scene = new Scene {
      root = new BorderPane { ...
      }
    }
    

    【讨论】:

    • 感谢您的解释。我按照你的建议做了,你的解决方案效果很好!
    猜你喜欢
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2015-01-27
    • 2020-09-18
    • 1970-01-01
    相关资源
    最近更新 更多