Ragazzi scusate sono alle prime armi con java e devo realizzare una piccola applicazione molto semplice...sono quasi alla fine ma stò sbattendo il muso su un problema che dovrebbe essere talmente banale da vergognarsi a chiederlo. Devo fare 2 pannellini dentro un JFrame, uno in alto che contenga un pulsante e l'altro in basso vuoto colorato di rosso. In quest'ultimo devo realizzare un cardLayout che al pulsante sul bottone del primo pannello carichi un secondo pannello vuoto giallo che sostituirà quello rosso. posto il codice:
codice:
class  ContenitoreCard extends JFrame {
	ContenitoreCard(){
		this.setResizable(false);
		this.setBounds(240, 200, 800, 500);
		Container contenuto = this.getContentPane();
		contenuto.setLayout(null);
		Pannello pan = new Pannello();
		contenuto.add(pan);
		PanelB panB = new PanelB();
		contenuto.add(panB);
	}
	


class Pannello extends JPanel {
	CardLayout cl = new CardLayout();
	
	Pannello() {
		   this.setLayout(cl);
		   this.setBounds(0,100,800,500);
		   this.setBackground(Color.blue);
		   Pannello1 p1 = new Pannello1();
		   p1.setName("pan1");
		   cl.addLayoutComponent(p1, "pan1");
	}
	 void mostra() {
		cl.show(this, "pan1");
	}
}



class PanelB extends JPanel implements ActionListener {
	JButton bot = new JButton("Cambia");
	
	
	PanelB() {
		   this.setLayout(null);
		   this.setBounds(0,0,800,100);
		   this.setBackground(Color.red);
		   bot.setBounds(20, 20, 100, 25);
		   bot.addActionListener(this);
		   this.add(bot);
	}
	
	public void actionPerformed (ActionEvent e) {
		 Object src = e.getSource();
		 if (src==bot) {
			 mostra(); // qui da errore!
		 }
	}
}

class Pannello1 extends JPanel {
	
	
	Pannello1() {
		   this.setLayout(null);
		   this.setBounds(0,100,800,500);
		   this.setBackground(Color.red);
		   
	}
}



public static void main(String[] args) {
	   ContenitoreCard frame = new ContenitoreCard();
	   frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
	   frame.setVisible(true);
   }
}
Ho una vaga idea che dovrei passare come parametro la classe Pannello alla classe PanelB in modo tale da fargli vedere il metodo mostra(). Ho provato in vari modi ma non c'è verso..
Vi prego di aiutarmi..
Grazie mille