Oppure

Loading
08/07/12 11:12
bububs
Ciao ragazzi :)
Il mio problema consiste nel gestire un pannello ke attraverso dei button mi permetta di far apparire e quindi disegnare delle figure. Come posso risolvere?
aaa
08/07/12 16:28
corin7
Ciao, non ho capito bene, vorresti che dopo il click su un bottone venga selezionata una figura e di conseguenza ti venga data la possibilità di disegnarla su un jPanel al semplice click come per esempio accade con i pennelli di photoshop?
aaa
09/07/12 10:15
bububs
Intanto grazie x la risposta :)
Mi spiego meglio: ho la mia finestra che contiene 2 pannelli, quello superiore con diversi button e quello sottostante vuoto dove andranno a comparire le figure secondo il pulsante cliccato. Io vorrei che dal click di un pulsante mi appaia la corrispondente figura (cioè ho creato una mia classe che estende a shape).
aaa
09/07/12 10:43
corin7
se ho capito bene, una soluzione potrebbe essere la seguente:

- Ti faccio un esempio considerando che l 'oggetto da disegnare sia un immagine, ma può essere modificato per disegnare anche oggetti diversi come Shape.

- Crea un variabile di istanza che conterrà il valore dell'ultima immagine selezionata col buttone:

private Image selectedImage;

- Definisci l'actionPerformed di ogni bottone:
JButton button1 = new JButton("Image 1";);
button1.addActionListener(new ActionListener()) {
@Override
public void actionPerformed(ActionEvent arg0) {
try {
// Esempio di come caricare un immagine, puoi usare il metodo che più
// preferisci
selectedImage = ImageIO.read(new File("image1.png";));
panel2.repaint();
} catch (IOException e) {
} // catch        
}// actionPerformed
}

- crea un istanza personalizzata del pannello 2, es:

JPanel panel 2 = new JPanel() {
@Override
public void paintComponents(Graphics g) {
super.paintComponents(g);
g.drawImage(selectedImage, 0, 0, null);
}// paintComponents
};

Ogni volta che viene cliccato un bottone la variabile selectedImage cambia valore nell'immagine corrispondente e di conseguenza il repaint del pannello disegnerà la nuova immagine.

Spero di aver capito bene il tuo problema e di averti aiutato :k:
aaa
10/07/12 14:55
bububs
Utilissimo! grazie mille! :k:
aaa