我的应用程序有一个带有两个孩子的水平SashForm。最左边的应该总是至少200像素宽。所以我在左侧组件中添加了一个ControlListener。在controlResized事件中,我检查组件的宽度。当它小于200时,我将其边界的宽度设置为200.它显然可以在组件调整到该宽度时起作用,但是窗框停止工作 - 窗框不再可见,它仍然在组件下面。
有人知道我错过了什么吗?
我试过了:
component.addControlListener(new ControlAdapter() {
@Override
public void controlResized(ControlEvent e) {
if (component.getBounds().width < 200) {
Rectangle bounds = component.getBounds();
bounds.width = 200;
component.setBounds(bounds);
}
}
});
答案 0 :(得分:0)
只是一个猜测,但也许您需要在以编程方式调整内部组件的大小后调用SashForm上的pack()或layout()。
答案 1 :(得分:0)
here就是一个例子