0

要素を垂直方向ではなく水平方向に追加するグリッドレイアウトに要素を追加する方法はありますか?基本的に、次の行から始める前に、行全体を要素で埋めたいと思います。

私の質問を明確にしたことを願っています。

4

5 に答える 5

6

これ GridLayoutの仕組みです。

于 2009-12-07T19:08:07.047 に答える
2

GridBagLayoutGridBagConstraintsをお勧めします

これはGridLayoutによく似ていますが、GridBagConstraintsを使用すると、コンポーネントのx座標とy座標を指定でき、列と行のスパンを実行できます。

次のようになります。

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();

JPanel panel = new JPanel();
JLabel label = new JLabel("foo");

panel.setLayout(layout);

c.gridx = 0;
c.gridy = 0;
panel.add(label, c);
于 2009-12-07T19:17:46.920 に答える
0

GridLayoutは、その名前が示すように、コンストラクターで指定した列と行の数に従ってコンポーネントをレイアウトし、指定した数のコンポーネントを追加するとすぐに次の行に移動します。

あなたの質問から、FlowLayoutはあなたが探しているものに沿っているようです。

編集:理由はわかりませんが、行数を0に指定すると(たとえばnew GridLayout(0, 9)、正しく機能しているようです)。

于 2009-12-07T19:10:17.193 に答える
0

次の列に移動する前に、列のすべての行を埋めたいと言っていると思います。その場合は、カスタムレイアウトマネージャーを使用します

VerticalGridLayout

于 2009-12-07T19:26:13.563 に答える
0

実際には、GroupLayoutを使用する必要があります 。これは(jdk 1.6以降)新しく、非常に優れています。それはあなたにレイアウトのトンの柔軟性を与えます。

于 2009-12-07T19:40:18.457 に答える