1

私は、さまざまな画像を表示するために SWT GridLayout を使用しています。今私の問題は、GridLayout の列数が常に固定されていることです。5 としましょう。親コンポーネントのサイズに応じて列数が増減するように、GridLayout を柔軟にする方法はありますか? (例えば、ウィンドウのサイズが変更されたとき)。

GridLayoutConstructor または GridData にオプションが見つかりませんでした。RowLayout ではニーズが満たされない

4

1 に答える 1

1

実行時にレイアウトを変更できます。

親コンポーネントのサイズが変更されたら、そのGridLayoutnumColumnsプロパティを変更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 );
    }
} );
于 2013-06-07T12:18:02.347 に答える