簡體   English   中英

如何將JPanel划分為左右段?

[英]How to divide a JPanel into left and right segments?

我想將JPanel划分為左右段。 我怎么做 ? 之后,我會在左右兩側放置面板。

如果不需要調整它們的大小,您只需使用BorderLayout並在BorderLayout.EASTBorderLayout.WEST插入面板:

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

您還可以考慮使用允許調整UI大小的JSplitPane

JSplitPane pane = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT, 
                                  leftPanel, rightPanel );

如果使用JSPlitPane ,則非常容易。

有兩種方法

  • 使用GridLayout

  • 使用JSplitPane(隱藏分隔符)

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);

使用JSplitPane或GridLayout

您可以使用SplitPane作為Costis Aivalis建議。
要么
在JPanel上使用Border Layout Manager
將左側組件放在WEST側,將右側組件放在布局管理器的EAST側。

JPanel panel = new JPanel(new BorderLayout());
panel.add(c1, BorderLayout.WEST);
panel.add(c2, BorderLayout.EAST);
JPanel leftPanel = new JPanel();
JPanel rightPanel = new JPanel();
JSplitPane pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, rightPanel);
JPanel example = new JPanel(new GridLayout(1,2));
example.add(p1);
example.add(p2);
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);

  }

 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM