6

次のように、MigLayoutを使用して簡単なステータスパネルを作成しようとしています。

setLayout(new MigLayout("fillx", "[][p]")); // removing constructor args makes no difference
add(createStatusLabel(), "span 2, wrap");
add(createProgressBar(), "growx, pushx");
add(createCancelButton(), "");

これは、ステータスラベルに表示されるステータスメッセージが現在のパネルのサイズに収まるほど短い限り正常に機能します(キャンセルボタンは右揃えのままで、進行状況バーのサイズが変更されて残りのスペースが占有されます)。ステータスメッセージが長すぎると、トリミングされず、領域がコンテナの境界を超えてしまい、キャンセルボタンが画面から押し出されてしまいます。

これを防ぐ方法について何か提案はありますか?

ありがとう

4

1 に答える 1

9

ラベルの最大幅を 100% に設定してみてください。

これを行うには、ラベルのレイアウトを次のように変更します。"span 2, wrap, wmax 100%"

私のテストでは、まだ正しく見えないことがわかったので、少し長さ ( のようなものwmax 100% - 10px) を差し引いて、端から離すことをお勧めします。

于 2010-09-10T16:59:52.713 に答える