5

Swing を使用して、チェックボックスまたはラジオ ボタンの下にあるコンポーネントをインデントする最良の方法は何ですか? 「メイン」チェックボックスの下にいくつかのチェックボックスがインデントされている、Firefox 3.6 の [オプション] -> [プライバシー] ダイアログのスタイルで何かを作成する必要があります。GroupLayout を含む標準の AWT/Swing レイアウトを使用できます。JGoodies FormLayout も利用できます。最初は FormLayout で setLeadingColumn オフセットを使ってみたのですが、セパレーターの下でインデントしないと上手くいかないようでした。たぶん私はそれを間違ってやっていましたか?

SWT GridLayout の horizo​​ntalIndent 設定のようなものはありますか? それは完璧でしょう。

私はJDK1.6.0_23で作業しています。

4

4 に答える 4

4

サブコンポーネントの JPanel を作成します。次に、必要なインデントを使用して、EmptyBorder をパネルに追加できます。

于 2011-01-08T19:18:53.677 に答える
3

これを行うにはいくつかの方法があります。

  1. 各コンポーネントの境界線を次のように設定しますnew EmptyBorder (0, 10, 0, 0)

  2. aGridBagLayoutと an を使用しInset (0, 10, 0, 0)て、左側をパディングします。

  3. a を使用しGridBagLayoutて、メインのチェックボックスを 2 列にまたがらせ、サブのチェックボックスを右端の列に配置してオフセットします。

  4. 左端に空白が追加されたカスタム チェックボックス アイコンを提供します。

私のアドバイスは、を学ぶGridBagLayoutことです - 使用するのはやや扱いにくいですが、必要なほとんどすべてのレイアウト機能を提供します。JGoodies は、GBL では追加のコードがないと提供されない特定の自動列サイズ変更動作が必要な場合に役立ちます。

于 2011-01-08T19:29:06.367 に答える
0

もう 1 つのオプションは、SpringLayout を使用してパディングを追加することです。

于 2011-01-08T20:33:19.597 に答える
0

これは FormLayout で問題なく実行できます。サブ項目用に別の列を追加するだけで、メイン項目が 2 列にまたがります。

于 2011-01-08T19:04:49.593 に答える