0

MigLayout を使用してラベルを中央に配置しようとしていますが、苦労しています。ラベルを次のように表示したいのは次のとおりです。

  • | | [ラベル 1] [ラベル 2] [ラベル 3] [ラベル 4] [ラベル 5] |
  • | | .......... [ラベル6][ラベル7][ラベル8] ....| | |

そうしたいです:

  1. ラベルの数を 1 行あたり 5 つに制限すると、 wrap 5を使用できると思います。
  2. JPanels 内のラベルを中央に配置

次のように、メイン JPanel のセクションにサブパネルのラベルを付けました。

  • セクション 1
  • [ラベル付きサブパネル]
  • 第2節
  • [ラベル付きサブパネル]

私がこれを行うため、ラベルが1つしかない場合、センタリングに問題はありません:

myPanel.add(label, "align center, wrap");

残念ながら、複数追加すると、中央に配置されません。私は MigLayout チート シートを調べましたが、API がどのように機能するかを完全に理解せずに API を調べているようなもので、適切なチュートリアルを見つけることができませんでした。私は MigLayout に習熟したいので、適切なチュートリアルを読めばうまくいくでしょう。

あなたの助けに感謝します。

4

2 に答える 2

1

あなたが何を望んでいるのか正確にはわかりませんが、これは私の推測です:

panel.add(label1);
panel.add(label2);
panel.add(label3);
panel.add(label4);
panel.add(label5, "wrap");
panel.add(label6, "al 100%");
panel.add(label7, "align center");
panel.add(label8);

frame.pack();
于 2013-07-25T02:47:14.343 に答える
1

中央の列の制約を使用して milayout を作成し、セル番号で追加できます。

JPanel panel = new JPanel(new MigLayout("","[center][center][center][center][center]","[]"));

JLabel label1 = new JLabel("label1");
JLabel label2 = new JLabel("label2");
JLabel label3 = new JLabel("label3");
JLabel label4 = new JLabel("label4");
JLabel label5 = new JLabel("label5");

panel.add(label1, "cell 0 0");
panel.add(label2, "cell 1 0");
panel.add(label3, "cell 2 0");
panel.add(label4, "cell 3 0");
panel.add(label5, "cell 4 0");
f.getContentPane().add(panel);
于 2015-07-28T07:59:57.027 に答える