38

を使用outputPanel.setLayout(new BoxLayout(outputPanel, BoxLayout.Y_AXIS));してから、要素(JLabels、JButtonsなど)をに追加しoutputPanelます。例:outputPanel.add(submitButton);

追加されたすべての要素が「中央に配置」されていることがわかります。要素を中央に配置したいので、それは良いことです。私が「中心」と書くとき、私は「左右からの等距離」を意味します。しかし、問題は、要素の左側が中央に配置されていることです。そして、要素の中心を中心に配置したいと思います。どうすればこの動作を取得できますか?

4

2 に答える 2

54

この問題は、を使用して解決できますmyLabel.setAlignmentX(Component.CENTER_ALIGNMENT);JLabel、、JButtonおよびで動作しJRadioButtonます。

于 2010-04-01T14:52:51.727 に答える
4

これまでのところ、すべてのタイプのコンポーネントで機能する、私が遭遇した最良の方法は次のとおり
です。1.新しいJPanelを作成します。

JPanel helperPanel = new JPanel();

2.水平方向に中央揃えにするコンポーネント(この例ではsubmitButton)をJPanel
helperPanel.add(submitButton);

に追加します。3。パネルを元のパネル(BoxLayoutを使用したパネル)に追加します。 outerPanel.add(helperPanel);

これで完了です。のBoxLayoutで拡張したくない場合は、に最大サイズを設定することもできます。 なぜこれが機能するのか疑問に思われる場合:JPanelの暗黙のレイアウトマネージャーはFlowLayoutであり、要素を自動的に中央に配置します。helperPanelouterPanel

于 2017-12-10T19:35:29.087 に答える