Java 如何将JPanel划分为左段和右段?
我想把一个JPanel分成左段和右段。我该怎么做?之后,我将在左半部分和右半部分放置面板 如果你使用一个 有两种方法Java 如何将JPanel划分为左段和右段?,java,swing,layout,jpanel,Java,Swing,Layout,Jpanel,我想把一个JPanel分成左段和右段。我该怎么做?之后,我将在左半部分和右半部分放置面板 如果你使用一个 有两种方法 使用网格布局 使用JSplitPane(带隐藏分隔符) 如果不需要调整它们的大小,您只需使用边界布局并将面板插入边界布局。东和边界布局。西: JPanel panel = new JPanel( new BorderLayout() ); panel.add( leftPanel, BorderLayout.WEST ); panel.add( rightPanel, Bord
- 使用网格布局
- 使用JSplitPane(带隐藏分隔符)
边界布局
并将面板插入边界布局。东
和边界布局。西
:
JPanel panel = new JPanel( new BorderLayout() );
panel.add( leftPanel, BorderLayout.WEST );
panel.add( rightPanel, BorderLayout.EAST );
你也可以考虑使用一个允许调整UI大小:
JSplitPane pane = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT,
leftPanel, rightPanel );
使用或网格布局您可以按照Costis Aivalis的建议使用SplitPane。
或
在JPanel上使用。
将左侧组件置于layout manager的西侧,将右侧组件置于layout manager的东侧
JPanel panel = new JPanel(new BorderLayout());
panel.add(c1, BorderLayout.WEST);
panel.add(c2, BorderLayout.EAST);
错误-构造函数JSplitPane(JPanel,JPanel)是未定义的JSplitPane pane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,righpanel)。试试这个,我就是这么做的。它弄乱了gui,左侧面板中的小按钮占据了整个左侧,而左侧的其他组件不可见左侧有多少组件?如果需要多个面板,则必须再次拆分左侧面板。左侧有三个面板。每个面板都有一些组件,如按钮、文本字段等。因此,对于左侧面板,您可以使用GridLayout(3,1),然后添加按钮、文本字段。。这将给你三行。如果希望按钮和文本字段水平排列,可以使用GridLayout(1,3),这将提供三列+1,我将使用:)
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);
}
}