1

SwingアプリケーションでJCheckBoxを作成するときは、ラベルの後に余分なスペースを残します。たとえば、JCheckBoxラベルの幅が100ピクセルの場合、安全のためにJCheckBoxを120ピクセルにします。

実行時の問題として、ユーザーがJCheckBoxラベルの後の空のスペースをクリックして、実際にクリックできるのは、次のようになります。

http://imgur.com/3eMUG.png

使用するフォントの種類/サイズに応じて、実行時にJCheckBoxのサイズを変更して、その中のテキストに正確に合わせる方法があるのでしょうか。

これは少し派手に思えますが、私は物事を完璧に見せたいです:)

編集-詳細:

私はを使用FormLayoutし、次のように定義しますJCheckBox

CellConstraints con = new CellConstraints();
contentPane.add(checkBox1, con.xywh(3, 13, 10, 1));
4

3 に答える 3

1

@trashgodは正しいです。美的な目的でパディング、整列、または間隔が必要な場合は、レイアウト マネージャーを使用してこれを実現し、コンポーネント自体を台無しにしないでください。達成したいほとんどすべてのレイアウトをこの方法で行うことができます。を使用する必要があるかもしれませんがGridBagLayout、これは面倒な場合がありますが、最も柔軟です。

于 2010-06-13T17:47:18.987 に答える
1

使用するフォントの種類/サイズに応じて、その中にテキストが正確に収まるようにします

これは のデフォルトの推奨サイズですJCheckBox。変更しないでください。

于 2010-06-12T16:26:12.023 に答える
0

わかりました...回答ありがとうございます。FormLayout の使用中に適切な解決策を見つけました:

contentPane.add(checkBox1, con.xywh(3, 13, 10, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));
于 2010-06-14T05:31:03.967 に答える