我正在编写一个简单的WebBrowser应用程序,我希望在窗口顶部有一个搜索栏。我的舞台的根是一个TabPane,目前只有一个标签。
stage = new PrimaryStage{
scene = new Scene{
minHeight = 600
minWidth = 600
root = tabPane
}
}
将其内容设置为方法initBrowser
返回的BorderPane:
def initBrowser: BorderPane = new BorderPane{
top = initToolBar
center = new StackPane()
}
然后我在initToolBar
def initToolBar: ToolBar = new ToolBar{
prefHeight = 10
prefWidth = 10
val buttonContainer = new HBox{
padding = Insets(2, 2, 2, 2)
val b = new Button{
text = "Search"
}
children.add(b)
}
val queryTextContainer = new HBox{
padding = Insets(2, 2, 2, 2)
val querytext = new TextArea{
maxHeight = 10
}
children.add(querytext)
}
items.addAll(
buttonContainer,
new Separator(),
queryTextContainer
)
}
This is the result that i am getting
And this is without the TextArea(but looks better)
当排除TextArea时,ToolBar看起来很好但是一旦我添加了TextArea,我就会遇到大小调整问题。我是Javafx的新手,我希望改善我的工具栏的外观。我试过设置prefHeight,maxHeight等等,但到目前为止这还没有用。所以具体我要问的是如何使我的工具栏看起来像我发布的第二张图片中的那个,但仍然包含TextArea,创建一个Web浏览器地址栏?我正在使用Scala和ScalaFX。我将不胜感激任何帮助或指导。谢谢。
我已经更新了initToolBar方法的代码:
def initToolBar: ToolBar = new ToolBar{
prefHeight = 40
maxHeight = 40
padding = Insets(10, 10, 10, 10)
val b = new Button{
text = "Search"
prefHeight = 20
margin = Insets(10, 0, 10, 0)
}
val t = new TextArea{
prefHeight = 10
maxHeight = 10
margin = Insets(10, 0, 10, 0)
}
items.addAll(b, new Separator(), t)
}
这是当前结果的照片: doesn't fit toolbar