我正在使用一个SWT GridLayout来显示不同的图像,这样一个奇迹-一个网格。现在我的问题是,GridLayout总是有一个固定的列计数,比如说5。有没有办法让GridLayout变得灵活,这样列计数就可以根据父组件的大小增加或减少呢?(例如,当调整窗口大小时)。
我在GridLayoutConstructor或GridData中找不到选项。RowLayout不能满足我的需求
发布于 2013-06-07 20:18:02
您可以在运行时更改布局。
当父组件的大小发生更改时,请更改其GridLayout的numColumns属性并对父组件调用layout(true)。
final Shell shell = new Shell();
final GridLayout layout = new GridLayout( 3, true );
shell.setLayout( layout );
shell.addControlListener( new ControlAdapter() {
@Override
public void controlResized( ControlEvent event ) {
int newColumnNumber = 5; // Calculate your new value here.
layout.numColumns = newColumnNumber;
shell.layout( true );
}
} );https://stackoverflow.com/questions/16977553
复制相似问题