2

FlowLayoutを使用してコンポーネントがこのJPanelでラップされないのはなぜですか?それらは単に画面からはみ出し、部分的にしか見えません。

JPanel panel = new JPanel(new FlowLayout());
panel.add(new JLabel("TEST"));
// ... repeat adding JLabels until they go off screen when they SHOULD wrap
// to the next line...

これが私のコード全体です(フレームの追加とパックを除く)。FlowLayoutを誤解していますか?ラベルまたはパネルのいずれかに何らかのサイズを設定する必要がありますか?

4

2 に答える 2

7

それはそうでFlowLayoutはないからです。私は知っている、それはひどい。

しかし、あなたはこの問題の解決策であるWrapLayoutを見ることができます

于 2012-08-10T21:23:04.417 に答える
1

これは古い質問だと思いますが、同じ問題を解決しようとしているときに偶然見つけました。FlowLayoutがその子コンポーネントをラップしないということは完全には真実ではありません。

問題は、目的のFlowLayoutを持つJPanelが、サイズを変更し、FlowLayoutもサイズを変更してラップできるようにする別のコンテナー内にある必要があることです。私の経験では、BorderLayoutのCENTER領域は、これを可能にする唯一のコンテナーです。

于 2018-10-29T01:40:16.763 に答える