如何在Scala Swing中设置按钮的大小?
我试图用如何在Scala Swing中设置按钮的大小?,swing,user-interface,scala,button,resize,Swing,User Interface,Scala,Button,Resize,我试图用minimumSize将按钮的大小设置为特定的像素大小,但它似乎不起作用 我甚至试着把它分为子类,这样做 class SizedButton(text0: String, width0: Int, height0: Int) extends Button(text0) { minimumSize = new Dimension(width0, height0) // also tried preferr
minimumSize
将按钮的大小设置为特定的像素大小,但它似乎不起作用
我甚至试着把它分为子类,这样做
class SizedButton(text0: String, width0: Int, height0: Int)
extends Button(text0) {
minimumSize = new Dimension(width0, height0)
// also tried preferredSize here ...
}
但是这也不起作用。要知道您真正想做什么有点困难,但通常大小很大程度上取决于您使用的布局管理器。无论如何,以下内容会固定按钮的大小,例如:
import swing._
import java.awt.Dimension
val s = new Dimension(100, 100)
val f = new Frame {
contents = new FlowPanel {
contents += new Button("huhu") {
minimumSize = s
maximumSize = s
preferredSize = s
}
}
}
f.pack
f.visible = true
在类主体中尝试
this.peer.setPreferredSize(新维度(宽度0,高度0))
,因为您知道习惯用法是创建匿名子类,所以创建命名子类没有帮助。minimumSize是否起作用取决于您使用的布局管理器。到底是什么修复了它?设置所有三个设置或f.pack
?pack仅将框架的大小调整为足以容纳FlowPanel的首选大小。通过设置最小值、最大值和首选值来固定尺寸。在这种情况下,您甚至可以不使用maxSize,因为FlowLayout不会使按钮大于其首选大小(因为没有理由:可用空间由面板占用)。