1

アプリケーションのログイン バーを作成したいのですが、一連の JLabels と JTextField を整理して、これらの同じコンポーネントを各セルに合わせてサイズ変更せずに水平グリッドに整理する方法がわかりません。また、コンポーネントのグループが特定の幅以下にサイズ変更されないようにしたいと考えています。これはどのように達成できますか?

編集:回答ありがとうございます。MigLayout と SpringLayout については後で見ていきます。時間の制約により、Visual Editor で間に合わせ、null レイアウトを使用する必要があります。コンポーネントの配置と寸法は手動で調整する必要がありますが、少なくともそのままです。これが私がやりたかったことを示す写真です。

バー http://img145.imageshack.us/img145/7356/bargw.png

4

3 に答える 3

3

MigLayoutをレイアウト マネージャーとして使用します。これは非常に柔軟で、求めているものを非常に簡単にサポートします。サイズ制限を設定できます。さらにサポートが必要な場合は、Swing と MigLayout を使用して、何をしようとしているのかを示すサンプル コードを投稿してください。達成したいことを行う方法についてアドバイスします。

おそらく、残りのスペースを埋めるために「成長」する追加のセルが必要になるでしょう。これは、列の間に「プッシュ」を挿入して ([..] で指定)、ギャップを拡張することにより、列の制約を使用して実現できます。この場合、プレースホルダー コンポーネントは必要ありません。(つまり、[pref!]10px[40px::]push[pref!]10px[40px::])

于 2010-05-22T18:51:50.913 に答える
2

別のレイアウトを使用する必要があります。FlowLayout または BoxLayout はあなたのケースで機能しますが、すべてのニーズをカバーし、他のすべてを置き換えるという理由だけで、MigLayout をお勧めします。

于 2010-05-22T18:52:04.530 に答える
2

Using Layout Managersに関する Swing チュートリアルのセクションを確認してください。

SpringLayout には、まさにこれを行う例があります。

GridBagLayout は使いにくいですが、行/列タイプのレイアウトもサポートしています。

最後に、引き続き GridLayout を使用できます。最初にテキスト フィールドを JPanel に追加するだけで、パネルは拡大しますが、テキスト フィールドは拡大しません。

于 2010-05-22T18:54:16.160 に答える