私は元々 Swing を使用して Java で作成した学校のプロジェクトを、ScalaFX を使用して Scala に変換しようとしています。GUI は基本的に、ボタンと検索入力を備えた上部バーであり、バーの下部はボタンからの出力を表示する TextArea です。これは、起動時のアプリの外観です。問題は、マウスでステージを拡大すると、TextArea のサイズが静的なままになることです。ここはその一例です。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
}
}
}
}