ok qui ti posto tutto:
codice:
private CardLayout cards= new CardLayout();
private void initialize() {
frame = new JFrame();
frame.getContentPane().setBackground(Color.WHITE);
frame.setBackground(Color.WHITE);
frame.setBounds(100, 100, 1024, 768);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
controllerHome controller = controllerHome.getInstance();
controller.setHomeVista(this);
panel.setAlignmentY(Component.TOP_ALIGNMENT);
frame.getContentPane().add(panel, BorderLayout.CENTER);
panel.setLayout(cards);
JPanel_1.setLayout(new GridLayout(2, 2, 4, 4));
JButton dispensa = new JButton("dispensa");
dispensa.addActionListener(controller);
panel_1.add(dispensa);
panel_1.add(btnNewButton_2);
JButton btnNewButton_3 = new JButton("New button");
panel_1.add(btnNewButton_3);
JPanel panel_2 = new JPanel();
frame.getContentPane().add(panel_2, BorderLayout.NORTH);
JLabel lblNewLabel = new JLabel("La dispensa di Sharon");
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 24));
panel_2.add(lblNewLabel);
panel.add(panel_1,"home");//aggiungo la carta
frame.getContentPane().add(panel_3, BorderLayout.SOUTH);
JLabel lblNewLabel_1 = new JLabel("New label");
lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 24));
panel_3.add(lblNewLabel_1);
frame.getContentPane().add(panel_4, BorderLayout.WEST);
JLabel lblNewLabel_2 = new JLabel("New label");
lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 24));
panel_4.add(lblNewLabel_2);
JButton btnNewButton_1 = new JButton();
btnNewButton_1.setBorder(null);
cards.first(panel);
panel_1.add(btnNewButton_1);
btnNewButton_1.setAlignmentY(Component.TOP_ALIGNMENT);
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
}
});
}
poi c'è un controller che alla pressione di un tasto
codice:
public void attivaDispensa(){
dispensa_0 disp_0=dispensa_0.getInstance();// è un istanza di una classe che //estende jpanel ed utilizzo il singleton per averne un unica istanza
panel.add(disp_0,"disp0");
cards.show(panel, "disp0");
}
fin qui tutto ok quando alla pressione di un altro tasto (presente sul panel che ho inserito prima) parte questa funzione
codice:
public void attivaPannelloCentrale(){
dispensa_1 disp_1=dispensa_1.getInstance();
panel.add(disp_1,"disp1");
cards.show(panel, "disp1");
}
e qui non fa niente