2

私が作成したJavaSwingアプリでは、すべてのコンポーネントが密集しすぎているように見えます。

QTでは、レイアウトのパディングとマージンを指定できます。

スイングに似たものはありますか?

代替テキストhttp://img12.yfrog.com/img12/9612/screenshotscreenerconfi.png

これが私のアプリケーションのスクリーンショットです。私はきつすぎます(そうですか?どう思いますか?)。

ありがとう。

4

6 に答える 6

2

レイアウトマネージャーとしてMiGLayoutを使用できます。マージン/パディングを含む、あらゆる種類のカスタマイズが可能です。

于 2009-10-23T09:04:20.623 に答える
2

GridBagLayoutManagerを見てください 。その最も複雑なレイアウトマネージャーですが、それですべてを達成することができます。

insetプロパティを持つGridBagConstraintObjectを使用し、top、bottom、left、およびrightコンポーネントへの分離を指定します。

例:GridBagConstraintObject.insets.left = 20

于 2009-10-23T09:06:38.530 に答える
2

ほんの数行のコード(レイアウトの行ごとに1つ)でDesignGridLayoutを使用することにより、上記の例のはるかに優れたレイアウトを実現できます。DesignGridLayoutは、ランタイムプラットフォームの正しい間隔を自動的に使用します。

さらに、フォームでTitledBordersを使用しないことを強くお勧めします。これは、LayoutManager(可能な限り高度なもの)がさまざまなグループ間でさまざまなコンポーネントを自動的に正しく整列するのを妨げるためです。代わりに、JSeparatorでJLabelを使用できます(DesignGridLayoutには例がありますが、これは他のLayoutManagerで機能します)。

于 2009-10-23T09:24:49.007 に答える
1

Java 1.6スイング以降、この種の作業を容易にする新しいGroupLayoutマネージャーがあります。

たとえば、次のメソッドがあります:setAutoCreateGaps()

... 2つのコンポーネントをSequentialGroupに追加すると、2つのコンポーネント間のギャップが自動的に作成されます...

例えば:

代替テキスト

于 2009-10-25T00:01:31.347 に答える
0

どのLayoutManagerを使用していますか?余白の追加は非常に簡単ですが、使用する特定のLayoutManagerによって異なります。

于 2009-10-23T09:04:39.517 に答える
0

FormLayoutは、もう1つの優れたレイアウトマネージャーです。JFormDesignerのような優れたGUIエディターを使用すると、GUIの構築が非常に簡単になります。JFormDesignerは、ほとんどの場合、実際には自動的に十分なパディングを追加します。GridBagLayoutの使用はお勧めしません。それは問題なく機能しますが、非常に複雑であるため、使用と保守が困難です。

于 2009-10-24T23:52:31.277 に答える