Ho 1 JFrame che contiene 2 JPanel (Uno contiene bottoni l'altro una sola immagine di sfondo!!!!).
Ho poi un altro pannello (della stessa grandezza di quello che contiene lo sfondo) con poche JLabel.
Vorrei che al click su un qualsiasi bottone si aprisse quello della label...
Ho scritto un paio di menate:
codice:
class PannelloCentrale extends JPanel {
private Image img;
PannelloModifica modifica;
//costruttore della classe
public PannelloCentrale() {
this.setLayout(null);
this.setBounds(230,94,770,680);
img = Toolkit.getDefaultToolkit().getImage("Immagini/image1.jpg");
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(img,0);
try{tracker.waitForID(0);
}catch (InterruptedException exception)
{
System.out.println("ERRORE: "+exception);
}
}
public void modificadati() {
System.out.println("mannaggione!!");
modifica = new PannelloModifica(); //e' una altro pannello identico a questo
modifica.setVisible(true);
modifica.setBounds(0,0,770,680);
this.add(modifica);
}
// Ridefinizione del metodo paintComponent
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D G = (Graphics2D)g;
G.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
G.drawImage(img,-200,-130,null);
}
}
il metodo modificadati() viene correttamente chiamato dal bottone dell'altro pannello (la scritta mannaggione viene stampata ma il pannello non viene caricato..
N.B. Se metto il contenuto del metodo nel costruttore funziona...
Ciao