1

こんにちは、添付の画像をご覧ください。私は 3 つの JPanel を持つインターフェイスをコーディングしており、使用し GridBagLayout ています。いくつかの優れたチュートリアルを読み、理解も得ましたが、与えられた写真のように 2 つの JPanel を並べて配置することについてのガイダンスが必要です。

たとえばframe.add(leftpanel); 、JFrameにパネルが1つしかない場合..JFrameの半分に左に揃えて、frame.add(panelright);右のsidに追加されるようにする方法、

Pic に示されている機能を実行するように案内してください。ここに画像の説明を入力

私は1つのJPanelとすべてのコンポーネントを処理できますが、1つ以上を処理する方法を知りません。

4

3 に答える 3

3

あなたの場合BorderLayoutはもっと役立つと思います。ここでそれについて読んでみてください。

パネルを北、南、東、西、または中央に追加できます。この場合、GridBag よりもはるかに優れています。

于 2012-12-02T16:29:21.127 に答える
3

GridBagConstraintsを使用して位置およびその他の設定を指定する必要があります。たとえば、次のようなことができます。

GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.fill = GridBagConstraints.BOTH;

frame.add(leftPanel, constraints);
constraints.gridx = 1;
frame.add(panelright, constraints);

constraints.gridx = 0;
constraints.gridy = 1;
constraints.gridwidth = 2;
frame.add(bottomPanel, constraints);

GridBagConstraints.gridx と GridBagConstraints.gridy は、この要素の行と列を決定します。fill は、水平方向と垂直方向の両方で使用可能なすべてのスペースを使用するようにレイアウトに指示します。1 つのセルが他のセルに対して特定の比率でスペースを使用するように設定する場合は、weightx フィールドと weighty フィールドを使用できます。

于 2012-12-02T16:32:31.720 に答える
2

また、2 つのJSplitPaneインスタンスを考えてみましょう。最も外側のペインにはVERTICAL_SPLIT、上下の間に があります。外側のペインの上部には、左右JSplitPaneの間にある別のペインが含まれます。HORIZONTAL_SPLIT

于 2012-12-02T17:37:47.237 に答える