Я попытался разделить большую панель на 2 панели и отобразить их в большой панели, но это не сработало. Однако, когда я играл в программе, она просто показывала последнюю панель, даже если для 2 панелей установлено значение разные места.
public class PaperScissorRock extends JFrame implements Runnable {
ImageIcon[] gameIcons= {new ImageIcon("C:\\Jsp\\HelloJava\\src\\Images\\r.png"),new ImageIcon("C:\\Jsp\\HelloJava\\src\\Images\\s.png"),new ImageIcon("C:\\Jsp\\HelloJava\\src\\Images\\p.png")};
JLabel me=new JLabel("Me");
JLabel com=new JLabel("Computer");
JButton[] jb=new JButton[3];//
CardLayout psrLayout=new CardLayout();/
PaperScissorRock()
{
JPanel bigPanel=new JPanel(psrLayout);//A panel to include 2 panels(northP/southP)
JPanel northP=new JPanel();
northP.setLayout(null);
northP.setBackground(Color.YELLOW);
northP.setBounds(400, 150, 400, 50);//
for(int i=0; i<3; i++)
{
jb[i]=new JButton(gameIcons[i]);
jb[i].setSize(10, 10);
northP.add(jb[i], BorderLayout.NORTH);
}
JPanel southP=new JPanel();
southP.setLayout(null);
southP.setLayout(new FlowLayout());
southP.setBackground(Color.GRAY);
southP.setBounds(400, 100, 400, 100);
southP.add(me, BorderLayout.SOUTH);southP.add(com, BorderLayout.SOUTH);
bigPanel.setBounds(400, 150, 400, 450);
bigPanel.add(northP, "nbp");bigPanel.add(southP, "sbp");
psrLayout.show(bigPanel, "nbp");//this is not called(?)
psrLayout.show(bigPanel, "sbp");
Game.Gframe.add(bigPanel);
}
В bigPanel я хочу отображать две панели (northP / southP) одновременно.