Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Eventi su JPanel fatto di JButton

    Ciao a tutti,
    sono nettamente un principiante con Java, la prova è ke i dannati eventi nn riesco a gestirli come si deve.
    In pratica dovendo fare un progetto sugli Scacchi, ho fatto una Scacchiera in un JPanel, bella riempita di JButton.
    Ora come dicevo nn riesco ad associare gli eventi con MuoseListener. Ad ogni JButton devo fare addMouseListener?o lo associo solo al JPanel(cosa ke però mi sembra strana)?
    Cercando di associarlo ad ogni JButton con un for, l'unico JButton MouseListato mi risulta l'ultimo.
    Qualcuno può aiutarmi e darmi qualche dritta?
    Grazie in anticipo a chi mi vorrà aiutare!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Se hai dei bottoni puoi usare anche un ActionListener invece che un MouseListener. Se usi un MouseListener, comunque il funzionamento e' analogo
    codice:
    public class Scacchiera extends JFrame implements ActionListener { 
       JButton[][] bottoni; //I tuoi bottoni
       //Altre variabili
    
       public Scacchiera() {
          //altro codice costruttore
          for(int i=0; i<bottoni.length; i++) {
             for(int j=0; j<bottoni[i].length; j++) {
                bottoni[i][j].addActionListener(this);
             }
          }
          //altro codice costruttore
       }
    
       //Altro codice classe
    
       public void actionPerformed(ActionEvent e) {
          //tuo codice
       }
    }

  3. #3

    JPanel e JButton

    Ciao!
    Innanzitutto ti ringrazio per la risp fulminea!
    Leggendo i vari post ho notato ke te hai scritto anke in un altro!
    Mi metto subito all'opera, se avrò altre difficoltà scriverò ancora.
    Grazie ancora per la dritta!

  4. #4
    Ciao simo!
    Allora seguendo i tuoi consigli(sia in questo post e in un altro)ho implementato un pò il codice.
    Per quanto riguarda gli eventi, posso implementare sia ActionListener e MouseListener?Perchè pensavo che con actionPerformed facevo capire al programma ke casella ho preso(prendo i e j,sia per evidenziarla visivamente sia per poi effettuare i controlli per quando riguarda il gioco), e infine con MouseListener per gestire le caselle clikkate e poi rilasciate.
    Sto delirando visto ke mi sono alzato presto, oppure sto a poco a poco capendo qualcosa su Java?

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Beh, io ne userei uno solo, pero' niente ti vieta di implementare entrambe le interfacce.
    Pero' tieni presente che l'ActionPerformed di ActionListener coinciderebbe con il mouseClicked del MouseListener nella tua applicazione.

  6. #6
    Si hai ragione, l'ho notato mentre provavo a farci qualcosa.Implementerò solo MouseListener, xkè mi sembra quello + opportuno!Grazie per i tuoi consigli.
    ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.