5

我想将 JPanel 分成左右两个部分。我怎么做 ?之后,我将在左右半部分放置面板。

4

9 回答 9

10

如果不需要调整它们的大小,您可以简单地使用 aBorderLayout并将面板插入到BorderLayout.EASTand中BorderLayout.WEST

JPanel panel = new JPanel( new BorderLayout() );
panel.add( leftPanel, BorderLayout.WEST );
panel.add( rightPanel, BorderLayout.EAST );

您还可以考虑使用JSplitPane允许调整 UI 大小的 a:

JSplitPane pane = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT, 
                                  leftPanel, rightPanel );
于 2013-04-03T08:45:52.057 回答
2

如果您使用JSPlitPane则非常容易。

于 2013-04-03T08:44:57.800 回答
2

有两种方法

  • 使用网格布局

  • 使用 JSplitPane(带有隐藏分隔符)

于 2013-04-03T08:45:31.660 回答
2
JPanel panel = new JPanel(new BorderLayout());
panel.add(c1, BorderLayout.WEST);
panel.add(c2, BorderLayout.EAST);

JPanel panel = new JPanel(new GridLayout(1, 2));
panel.add(c1);
panel.add(c2);
于 2013-04-03T08:45:37.447 回答
2

使用JSplitPane或 GridLayout

于 2013-04-03T08:46:18.683 回答
2

您可以按照 Costis Aivalis 的建议使用 SplitPane。
或者在 JPanel 上
使用边框布局管理器。
将左侧组件放在 WEST 侧,将右侧组件放在布局管理器的 EAST 侧。

JPanel panel = new JPanel(new BorderLayout());
panel.add(c1, BorderLayout.WEST);
panel.add(c2, BorderLayout.EAST);
于 2013-04-03T08:47:32.603 回答
1
JPanel leftPanel = new JPanel();
JPanel rightPanel = new JPanel();
JSplitPane pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, rightPanel);
于 2013-04-03T08:47:34.377 回答
1
JPanel example = new JPanel(new GridLayout(1,2));
example.add(p1);
example.add(p2);
于 2013-04-03T08:49:53.030 回答
0
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;

public class Display{

JFrame frame=new JFrame("Drawing");
North north;
South south;
East east;
West west;
Center center;
public  int width=600,height=600;

public Display() {
    // TODO Auto-generated constructor stub
    frame.setSize(width,width);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setResizable(true);

    north=new North(frame);
    south=new South(frame);
    east=new East(frame);
    west=new West(frame);
    center=new Center(frame);

    frame.setLayout(new BorderLayout());


JSplitPane pane2=new JSplitPane(JSplitPane.VERTICAL_SPLIT,west,east);

frame.add(pane2);

    frame.setVisible(true);

  }

 }
于 2016-12-10T20:05:41.317 回答