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 - FileChooser
Forum - Java - FileChooser

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
jock (Normal User)
Pro


Messaggi: 71
Iscritto: 15/01/2010

Segnala al moderatore
Postato alle 22:22
Domenica, 19/02/2012
Buonasera a tutti, sapete dirmi se fosse possibile cliccando su una label aprire fileChooser per selezionare i file.

Ringrazio anticipatemente 8-)

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 12:04
Lunedì, 20/02/2012
Devi associare ad essa l'ascoltatore, per i JButton si usa ActionListener ma per la JLabel non vedo il metodo addActionListener quindi bisogna usare l'interfaccia MouseListener o estendere MouseAdapter. MouseListener ti obbliga a inserire anche i metodi MousePressed ecc.. per ovviare a questo fatto basta estendere MouseAdapter e fare l'overwrite del metodo che ti serve ed associare un oggetto di questo tipo alla JLabel

Codice sorgente - presumibilmente Java

  1. JLabel label = new JLabel("clicca");
  2.  
  3. label.addMouseListener(new ClickToJLabel());
  4.  
  5.  
  6.  class ClickToJLabel extends MouseAdapter{
  7.  
  8.         @Override
  9.          public void mouseClicked(MouseEvent me) {
  10.                 //apri choose file
  11.             }
  12.   }


PM Quote
Avatar
jock (Normal User)
Pro


Messaggi: 71
Iscritto: 15/01/2010

Segnala al moderatore
Postato alle 12:45
Lunedì, 20/02/2012
Grazie mille Bonny... ;)

P.s.
Sai per caso se è possibile mettere un immagine di sfondo ad un pannello o frame senza che gli componenti siano coperti...

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 14:18
Lunedì, 20/02/2012
credo che si debba usare il metodo  void pain(Graphics) perchè component come JPanel non hanno il metodo setIcon()
es:
Codice sorgente - presumibilmente Java

  1. class MyJPanel extends JPanel{
  2.      
  3.  public void paint(Graphics g){
  4.     ImageIcon img = new ImageIcon("path dell'immagine");
  5.     g.draw(img.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);
  6.        /*
  7.           disegna l'immagine a partire dalle coordinate (0,0)
  8.           e la adatta alle dimensione del pannello
  9.        */
  10.    }
  11. }




Ultima modifica effettuata da Bonny il 20/02/2012 alle 14:19
PM Quote
Avatar
jock (Normal User)
Pro


Messaggi: 71
Iscritto: 15/01/2010

Segnala al moderatore
Postato alle 14:41
Lunedì, 20/02/2012
Non funziona, lo modificato cosi ma neanche...
Codice sorgente - presumibilmente Java

  1. public void paint(Graphics g){
  2. ImageIcon img = new ImageIcon("img/example.png");
  3. g.drawImage(img.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);
  4. }


PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 14:51
Lunedì, 20/02/2012
Questo funziona:
Codice sorgente - presumibilmente Java

  1. import java.awt.Graphics;
  2. import javax.swing.ImageIcon;
  3. import javax.swing.*;
  4.  
  5. public class Main {
  6.  
  7.     Main() {
  8.         JFrame f = new JFrame("Prova");
  9.         Prova p = new Prova();
  10.         JButton btn = new JButton("Bottone");
  11.         p.add(btn);
  12.         f.getContentPane().add(p);
  13.         f.setSize(600, 600);
  14.         f.setLocation(0, 0);
  15.         f.setVisible(true);
  16.     }
  17.  
  18.     public static void main(String args[]) {
  19.         new Main();
  20.     }
  21.  
  22.     class Prova extends JPanel {
  23.  
  24.         @Override
  25.         public void paint(Graphics g) {
  26.             ImageIcon img = new ImageIcon("img.jpg");
  27.             g.drawImage(img.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);
  28.         }
  29.     }
  30. }





Bonny ha allegato un file: img.jpg (144945 bytes)
Clicca qui per guardare l'immagine

Ultima modifica effettuata da Bonny il 20/02/2012 alle 14:52
PM Quote
Avatar
jock (Normal User)
Pro


Messaggi: 71
Iscritto: 15/01/2010

Segnala al moderatore
Postato alle 15:12
Lunedì, 20/02/2012
Lo provato ma se allargo la finestra, il bottone scompare...

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 15:22
Lunedì, 20/02/2012
Metti paintComponent(Graphics g) cosi funziona
Codice sorgente - presumibilmente Java

  1. package jpuzzle;
  2.  
  3. import java.awt.Graphics;
  4. import javax.swing.ImageIcon;
  5. import javax.swing.*;
  6.  
  7. /**
  8.  *
  9.  * @author bonny
  10.  */
  11. public class Main {
  12.  
  13.     Main() {
  14.         JFrame f = new JFrame("Prova");
  15.         Prova p = new Prova();
  16.         JButton btn = new JButton("Bottone");
  17.         p.add(btn);
  18.  
  19.         f.getContentPane().add(p);
  20.         f.setSize(600, 600);
  21.         f.setLocation(0, 0);
  22.         f.setVisible(true);
  23.        
  24.  
  25.     }
  26.  
  27.     public static void main(String args[]) {
  28.         new Main();
  29.     }
  30.  
  31.     class Prova extends JPanel {
  32.  
  33.         @Override
  34.         public void paintComponent(Graphics g) {
  35.             super.paintComponent(g);
  36.             ImageIcon img = new ImageIcon("img.jpg");
  37.             g.drawImage(img.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);
  38.  
  39.         }
  40.     }
  41. }




Ultima modifica effettuata da Bonny il 20/02/2012 alle 15:24
PM Quote
Avatar
jock (Normal User)
Pro


Messaggi: 71
Iscritto: 15/01/2010

Segnala al moderatore
Postato alle 15:54
Lunedì, 20/02/2012
Ti invio il miei file, il problema e lo sfondo bianco del Panel...


jock ha allegato un file: back.zip (920 bytes)
Clicca qui per scaricare il file
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo