1

現在、フレームの横にラベルを追加しようとしています。ラベルのテキストがあり、中央に揃えたいのですが、失敗し、常に左揃えになります。私を助けてください!

Simulation sm = new Simulation(dm);
JFrame simulation = new JFrame();
simulation.setTitle("Traffic light and Car park Siumulation");

simulation.setSize(800,600);
simulation.setResizable(false);
simulation.setVisible(true);
simulation.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
simulation.add(sm, BorderLayout.CENTER);

//Carpark label
JLabel carparklb = new JLabel("abcd");
carparklb.setPreferredSize(new Dimension(200,600));

carparklb.setVerticalTextPosition(JLabel.CENTER);
carparklb.setHorizontalTextPosition(SwingConstants.CENTER);

simulation.add(carparklb, BorderLayout.EAST);
4

3 に答える 3

2

Javaドキュメントから

setVerticalTextPosition(int textPosition)

画像に対するラベルのテキストの垂直位置を設定します。

代わりにJLabel.setVerticalAlignmentJLabel.setHorizo​​ntalAlignmentを試してください

于 2012-08-29T05:04:51.193 に答える
1

htmlコードを次のように使用します。

    "<html><font size=\"5\"><P ALIGN =\"CENTER\">ARGHYA</P></font></html>"

ラベルの文字列として使用します。

于 2012-08-29T07:15:28.413 に答える
1

試す:

carparklb.setAlignmentY(JLabel.CENTER_ALIGNMENT); carparklb.setAlignmentX(JLabel.CENTER_ALIGNMENT);

これにより、テキストがラベルの中央に水平方向と垂直方向の両方に配置されます。水平方向に中央揃えにするだけの場合は、次のいずれかを試すことができます。

JLabel carparklb = new JLabel("abcd", JLabel.CENTER_ALIGNMENT);

また

carparklb.setAlignmentX(JLabel.CENTER_ALIGNMENT);

于 2012-08-29T05:09:08.000 に答える