Scala Swing组件的大小调整

4

Scala是一种很棒的编程语言,但不幸的是,它的库文档缺乏。我该如何更改组件的初始大小?虽然我没有任何内容(故意的),但仍想让它成为特定的大小。我目前的代码如下:

...
contents = new BoxPanel(Orientation.Vertical) {
    contents += new BoxPanel(Orientation.Horizontal) {
        contents += buttons(0)
        contents += buttons(1)
        contents += buttons(2)
    }
    contents += new BoxPanel(Orientation.Horizontal) {
        contents += buttons(3)
        contents += buttons(4)
        contents += buttons(5)
    }
    contents += new BoxPanel(Orientation.Horizontal) {
        contents += buttons(6)
        contents += buttons(7)
        contents += buttons(8)
    }
    border = Swing.EmptyBorder(10, 10, 10, 10);
}
...

buttons是一个scala.swing.Button数组。不幸的是,当应用程序运行时,它们都非常小。我希望它们每个都大约是60x60像素,尽管任何相当大的正方形都可以。


这更像是一个 Swing 问题,但这里有一些指导:http://www.java-forums.org/awt-swing/17138-jbutton-size.html - James Black
嗯,常规的Swing和Scala的scala.swing封装库之间存在很大的区别。 - Peter C
1个回答

3
你有没有尝试在按钮上设置首选大小?
buttons foreach { _.preferredSize = new Dimension(60, 60) }

不幸的是,这似乎不起作用。按钮仍然很小。 - Peter C
看起来是布局的问题。您可以尝试在构造每个按钮时设置preferredSize(例如,new Button { preferredSize = new Dimension(60, 60))或在设置首选大小后重新验证外部BoxPanel - Aaron Novstrup
仍然没有运气。最终我回到了我熟悉的Java Swing库,我已经让它们工作了。 - Peter C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接