我正在尝试使JSrollPane中的某些组件不可调整,因为内部的内容可以动态增长,我必须防止它在预定义的大小上增长。
到目前为止我的方法就是这个:
scrollPane(constraints:BL.CENTER, size:[500,200], maximumSize:[500,200]){
panel(background:Color.WHITE, border:BF.createTitledBorder('Results')) {
gridBagLayout()
f0 = label(constraints:gbc(gridx:0, gridy:0))
fk = label(constraints:gbc(gridx:0, gridy:1))
}
}
(这是Groovy,但对象与Swing相同(例如label = JLabel,panel = JPanel ..)
它可以正常工作,但是当插入标签的文本很长,例如2000px时,在包含此滚动窗格的框架中第一次重绘的调用会使整个滚动窗格调整大小(直到滚动条实际消失)。
我需要强制保持我想要的尺寸!
我错过了什么吗?或者这是一个groovy的错误? (这看起来很奇怪,因为这应该只是将调用映射到正常的摇摆组件)
答案 0 :(得分:1)
为什么不直接包装文字?无论如何,Swing组件有setMaximumSize(Dimension)方法