Newsgroup: it.comp.java
Titolo: Spostamento JButton ...

Ciao a tutti.
Per prendere un po' di pratica con il Java, sto facendo un piccolo gioco che
simula il gioco del 15.
Ho creato tutto. Istanzio a runtime 15 JButton disposti secondo il
GridLayout e a questo punto dovrei implementare una funzionalità che sul
click mi sposti il JButton selezionato. Le mie domande sono 3.
1) Come faccio a collegare un evento ad uno dei JButton creati a runtime???
2) Come faccio a scandire tutti i JButton aggiunti nel pannello di gioco
(JPanel) ???
3) Come faccio a spostare i JButton da una posizione ad un'altra???
Grazie in anticipo a chiunque mi risponderà.

1)  Esempio eventi del Mouse 
   MouseListener mouseListner = new MouseListener(){
        public void mouseClicked(MouseEvent e) {
  //Mettere codice del click
 }
        public void mouseEntered(MouseEvent e) {
        }
        public void mouseExited(MouseEvent e) {
        }
        public void mousePressed(MouseEvent e) {
        }
        public void mouseReleased(MouseEvent e) {
        }
      });
  jButton1.addMouseListener(mouseListner);  
 
2) 
 
      for(int i=0;i<=jPanel.getComponentCount()-1;i++){
        Component c = jPanel.getComponent(i);
 if (c instanceof JButton){
  //tuo codice 
 }
      }
3)
 jPanel.Remove(JButton1);
 jPanel.Add(JButton1,<nuova pos int>);
Saluti Danilo
Megasoft78 wrote:

-- 
Saluti Danilo

Danilo wrote:
1) Ho provato quello che mi hai suggerito ma non mi funziona. Il codice 
è il seguente:
     /** Creates new form Gioco15 */
     public Gioco15() {
         initComponents();
         for (int t=0;t<15;t++) {
             celle[t]=new Cella(t);
             celle[t].addMouseListener(eventoMouse);
             pannelloGioco.add(celle[t]);
             pos[t]=t+1;
         }
         posizionaCelle();
     }
     MouseListener eventoMouse = new MouseListener() {
         public void mouseClicked(MouseEvent e) {
             JOptionPane.showMessageDialog(null,"Ciao");
         }
         public void mouseEntered(MouseEvent e) {
         }
         public void mouseExited(MouseEvent e) {
         }
         public void mousePressed(MouseEvent e) {
         }
         public void mouseReleased(MouseEvent e) {
         }
     };
nel costruttore istanzio i 15 oggetti della classe Cella (derivati da 
JPanel con all'interno un JButton) e collego il MouseListener. Quando 
avvio il programma e faccio click su un tasto qualsiasi non parte nessun 
evento.
2) Funziona perfettamente.
3) Non sarebbe possibile creare un effetto in cui la cella si sposta in 
maniera graduale???

1) ma la classe Cella estende un JButton?
3) Se lo vuoi fare un effetto di movimento non devi usare GridLayout ma
farlo tu a codice senza usare nessun layout usando jButton.setLocation(x,y)
per spostare il componente.
Ciao Danilo
Megasoft78 wrote:

-- 
Saluti Danilo

 per spostare il componente.
Ho provato senza layout ed utilizzando setLacation(x,y) ma non mi appare 
niente.

 ha scritto nel messaggio
news:clo8lf$6d7$1...@atlantis.cu.mi.it...


         celle[t].setVisible(true);
Grazie!!!Funziona benissimo.
Ciao.

      };
Ciao Danilo
N.B. Una volta finito il gioco e venduto in tutto il mondo voglio una
percentuale :-)
 
 
 
Megasoft78 wrote:

-- 
Saluti Danilo

 percentuale :-)
Se ti va' potremmo farlo insieme. Mi piacerebbe tanto sviluppare 
qualcosa in gruppo. Come stai a cvs??? Io non l'ho mai usato, ma 
NetBeans dovrebbe averlo integrato. Se ti va possiamo provare a 
completare questo programmino e magari se ci troviamo bene potremmo 
sviluppare qualcosa di piu' sofisticato. Che ne dici???
Ciao.

ti ringrazio, 
ma attualmente sto lavorando ad un progetto abbastanza grande non ho molto
tempo, quando finisco ti faro sapere. cosa è cvs??
Ciao Danilo 


Il cvs è un tool per vcs che si usa quando si sviluppa in gruppo e 
permette di gestire versioni concorrenti dello stesso sorgente.
Che tipo di progetto stai sviluppando???
Conosci qualcuno che vorrebbe unirsi a me per creare un pò di programmi???

 ha scritto nel messaggio
news:clqoh3$ml3$1...@atlantis.cu.mi.it...
