0

左側にいくつかのテキスト項目があり、右側にボタンがあるレイアウトを作成しようとしています。思い通りのテキストアイテムを手に入れましたが、ボタンを右に揃えることができません。

ここに画像の説明を入力してください

私は次のようにボタンを作成しています:

    SpringLayout layout = new SpringLayout();
    JPanel p2 = new JPanel(layout);
    // set panel size very large so it fills its own parent
    p2.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE));
    p2.setBackground(new Color(0xffd0d0));
    p2.setBorder(BorderFactory.createLineBorder(new Color(0)));
    // Add some text items; omitted for clarity
    ...
    // Add a button in the lower-right corner
    JButton btn = new JButton(refreshAction);
    p2.add(btn);
    layout.putConstraint(SpringLayout.EAST, btn,
                Spring.constant(0),
                SpringLayout.EAST, p2);
    layout.putConstraint(SpringLayout.SOUTH, btn,
                Spring.constant(0),
                SpringLayout.SOUTH, p2);

これにより、ボタンの東端と南端がコンテナの東端と南端に揃うと思いましたが、実際には発生していません。ボタンの端が実際のサイズではなく、コンテナの推奨サイズに揃えられているようです。

もう1つのデータポイント: ラベルの値を設定すると、ボタンが右にジャンプし、追加したばかりのテキストの最後に位置合わせされます。実際のサイズが変更されていなくても、コンテナの推奨サイズが明らかに増加し、それに応じてボタンの位置が変更されました。

4

2 に答える 2

0

まあ、2日経っても答えがない=別の方法を見つける. 私は GridBagLayout を使用して終了しました。これは、最初に実行する必要がありました。いつか誰かが答えてくれた場合に備えて、質問を開いたままにします。

于 2012-12-06T03:01:31.903 に答える