私は、さまざまな画像を表示するために SWT GridLayout を使用しています。今私の問題は、GridLayout の列数が常に固定されていることです。5 としましょう。親コンポーネントのサイズに応じて列数が増減するように、GridLayout を柔軟にする方法はありますか? (例えば、ウィンドウのサイズが変更されたとき)。
GridLayoutConstructor または GridData にオプションが見つかりませんでした。RowLayout ではニーズが満たされない
実行時にレイアウトを変更できます。
親コンポーネントのサイズが変更されたら、その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 );
}
} );