3

データベースから読み取った動的コンテンツを GridBagLayout JPanel に入力します。私の質問は、最後の rowWeights を 1.0 に設定する方法を見つけることができるかどうかです。通常、静的な GridBagLayout パネルを作成するときは、次のようなことができます。

    GridBagLayout gbl_accPanel = new GridBagLayout();
    gbl_accPanel.columnWeights = new double[]{1.0};
    gbl_accPanel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 1.0};
    accPanel.setLayout(gbl_accPanel);

しかし今、私の場合、行数がわからないので、すべてのコンテンツを一番上にプッシュする方法が必要です。これは、最後の行の重みを 1.0 にして、残りのコンテナーを埋めることを意味します。

明らかに、rowWeights を設定するよりも、revalidate(); よりも、追加した要素の数を保持できます。再描画(); しかし、私はこのアプローチが好きではありません。それで、もっと良い方法はありますか?

私の質問が不明な場合は、次の写真をご覧ください。 ここに画像の説明を入力

私が今していること:

public void setAccountRowWeights(int n)
{
    weights = new double[n];
    for(int i=0; i<n-1; ++i)
        weights[i] = 0.0;
    weights[n-1] = 1.0;
    gbl_accPanel.rowWeights = weights;
}
4

1 に答える 1