【发布时间】: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
}
}
}
}
【问题讨论】: