Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Disegnare figura da dei click di pulsanti
Forum - Java - Disegnare figura da dei click di pulsanti

Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 13:12
Domenica, 08/07/2012
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?

PM Quote
Avatar
corin7 (Normal User)
Newbie


Messaggi: 7
Iscritto: 08/07/2012

Segnala al moderatore
Postato alle 18:28
Domenica, 08/07/2012
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?

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 12:15
Lunedì, 09/07/2012
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).

PM Quote
Avatar
corin7 (Normal User)
Newbie


Messaggi: 7
Iscritto: 08/07/2012

Segnala al moderatore
Postato alle 12:43
Lunedì, 09/07/2012
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:

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 16:55
Martedì, 10/07/2012
Utilissimo! grazie mille! :k:

PM Quote