Java 如何制作具有多个面板的框架,如下所示
我尝试过这种布局,但它只显示一个面板。 我需要左面板(面板1)比第二个面板小一点。 它当前正在中心显示菜单和面板1 我尝试了所有的布局示例,但仍然无法显示面板2 我谦恭地等待任何可能有助于解决我的问题的建议Java 如何制作具有多个面板的框架,如下所示,java,swing,layout,jframe,jpanel,Java,Swing,Layout,Jframe,Jpanel,我尝试过这种布局,但它只显示一个面板。 我需要左面板(面板1)比第二个面板小一点。 它当前正在中心显示菜单和面板1 我尝试了所有的布局示例,但仍然无法显示面板2 我谦恭地等待任何可能有助于解决我的问题的建议 public PrintBillPanel() { GridLayout lay1 = new GridLayout(0, 2, 10, 5); mainPanel = new JPanel(); mainPanel.setLayout(new BoxLayout(m
public PrintBillPanel() {
GridLayout lay1 = new GridLayout(0, 2, 10, 5);
mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.X_AXIS));
printBill = new JPanel();
showBill = new JPanel();
printBill.setLayout(lay1);
mainPanel.add(printBill);
mainPanel.add(showBill);
mainPanel.setVisible(false);
}
您没有设置两个面板的大小,因此它们可以是零大小。您也没有做任何会使面板在视觉上清晰可见的事情。我不知道为什么要将主面板设置为不可见。在设置了尺寸和背景以便能够区分面板之后,代码工作了
java.awt.EventQueue.invokeLater(() -> {
JFrame frm = new JFrame();
JPanel mainPanel = new JPanel();
frm.add(mainPanel);
BoxLayout layout = new BoxLayout(mainPanel, BoxLayout.X_AXIS);
mainPanel.setLayout(layout);
JPanel panel1 = new JPanel();
panel1.setBackground(Color.red);
panel1.setPreferredSize(new Dimension(100, 300));
mainPanel.add(panel1);
JPanel panel2 = new JPanel();
panel2.setBackground(Color.blue);
panel2.setPreferredSize(new Dimension(200, 300));
mainPanel.add(panel2);
frm.add(mainPanel);
frm.pack();
frm.setVisible(true);
});