Всеки път, когато променя оформлението на моя JFrame на null, вместо действително да го настроя, JPanels никога не се добавят. Не съм сигурен защо и не намерих достатъчно информация по тази тема. Ето моя клас JFrame:
public class Frame extends JFrame
{
public Frame () {
super("frame");
this.setLayout(null);
this.setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getProtectionDomain().getClassLoader().getResource("icon.png")));
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(1250, 550);
this.getContentPane().setBackground(Color.GRAY);
}
}
Ето къде създавам JFrame:
public static Frame frame;
public static void initialize()
{
frame = new Frame();
CardLayout cardLayout = new CardLayout();
PanelContainer panelContainer = new PanelContainer(cardLayout);
panelContainer.setLayout(cardLayout);
JPanel panel1 = new Panel1();
JPanel panel2 = new Panel2();
panelContainer.add(panel1, "panel1");
panelContainer.add(panel2, "panel2");
cardLayout.show(panelContainer, "panel1");
gui.add(panelContainer, null);
gui.validate();
gui.setVisible(true);
}
Ето класа на панелния контейнер:
public class PanelContainer extends JPanel
{
public PanelContainer(CardLayout cardLayout)
{
super(cardLayout);
this.setVisible(true);
}
}
И накрая ето панел 1 и 2, те имат един и същ код:
public class Panel1 extends JPanel
{
public Panel1 ()
{
super();
this.setBackground(Color.GRAY);
addButtons(this);
}
public static void addButtons(FrontPanel panel)
{
JButton testButton = new JButton(new ImageIcon(Images.TestImage);
testButton (30,30);
testButton (0,0);
panel.addtestButton
}
}
Благодарим ви за отделеното време и помощта!