Newsgroup: it.comp.java
Titolo: aggiungere un MouseListener a un JPanel

Ho una class Pippo extends JFrame implements MouseListener {
    ...
    ...
    JPanel b=new JPanel();
    public Pippo() {
        b.addMouseListener(this);
    }
// Se uso questo modo mi viene un errore a runtime
java.lang.ClassFormatError
    public void mouseClicked(MouseEvent evt) {
        System.out........
    }
      public void mousePressed(MouseEvent evt);
      public void mouseReleased(MouseEvent evt);
      public void mouseExited(MouseEvent evt);
      public void mouseEntered(MouseEvent evt);
// Altrimenti se uso questo metodo il compilatore non risolve il metodo
mouseClicked
    b.addMouseListener(new MouseAdapter() {
        public void mouseClicked(MouseEvent evt) {
            Systen.out.println.....
        }
    });
    Non posso creare una classe che estende MouseAdapter perchè il corpo di
mouseClicked deve accedere a campi e metodi della classe Pippo.
Come posso risolvere il problema?
-- 
#############################
Q: Mi saprebbe fare un esempio di
     presente progressivo in inglese?
A: Dream Theater
#############################

       public void mouseEntered(MouseEvent evt);
Ciao,
  forse non ho capito bene il problema, ai metodi dell'interfaccia hai dato
un corpo? Per esempio:
public void mousePressed(MouseEvent evt){
}
Ciao

 ha scritto nel messaggio
news:c3bmsv$jsq$1...@stargate1.inet.it...

ma quelli nn mi servono, ho dato un corpo solo al metodo ke mi interessa.
cioč mouseClicked. E creandolo con una classe anonima il compilatore nn lo
trova. Creando una sottoclasse di pippo non ho accesso ai dati di pippo. E'
un bel dilemma, ho provato anche con call-back ma mi da sempre lo stesso
errore a runtime (probabilmente perchč nn so usare le call-back).

 ma quelli nn mi servono, ho dato un corpo solo al metodo ke mi interessa.
e' illegale.
usi JBuilder9?
ha un bug che te lo fa fare anche se non si puo'.
Nelle opzioni di progetto->build
in compiler invece che Borland Make metti Borland Make (JBulder 8) o
qualcosa del genere.
Dovrebbe cosi' segnalarti l'errore in fase di copilazione.
HTH
ciao

 cioč mouseClicked.
Ciao,
devi dare corpo a tutti i metodi dell'interfaccia anche se non li usi tutti.
Usi Jbuilder 9? Prova come ti ha suggerito Marco.
Ciao

 ha scritto nel messaggio
news:132i8kwcdfabc.1...@40tude.net...

c'è soltanto borland make... e cmq il problema è un altro. Perchè nel
costruttore questo metodo non da problemi
addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });
e se faccio lo stesso con MouseListener il compilatore nn riesce a risolvere
il metodo MouseClicked???
addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent evt) {
        System.out.println("Funziono?");
    }
});
mistero!!!

 ha scritto nel messaggio
news:0r76c.61071$z23.2...@news3.tin.it...

Ho risolto. Basta non dichiarare la classe Pippo implements MouseListener ma
semplicemente aggiungere al contenitore che si vuole
addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent evt) {
        System.out.println("Funziono?");
    }
});
Il perchè funzioni anche senza implementare MouseListener gradirei
saperlo!!! Perchè mi dicono di implementare un interfaccia per far
funzionare un metodo e poi in realtà scopro che funziona solo se non la
implemento??? Come si dice a napoli... cos 'e pazz!

 mistero!!!
che errore da precisamente? il codice sembra ok.
prova a compilare con javac da linea di comando.
ciao

 Come si dice a napoli... cos 'e pazz!
no, e' tutto nella norma.
ciao

 ha scritto nel messaggio
news:10af7zdcuhil7.1...@40tude.net...

ho capito perfettamente, è lo stavo capendo da solo, infatti stavo pensando
che magari MouseAdapter potesse implementare gia di per se MouseListener.
Grazie!

 passa alla personal di jbuilder x
non esiste la personal nella verisone X, ci sono enterprise, developer,
foundation, weblogic.. almeno sul sito della borland! quale scelgo?

 foundation, weblogic.. almeno sul sito della borland! quale scelgo?
e' vero, ha cambiato nome. vai di foundation.

 ha scritto nel messaggio
news:zuyhqjib1t0v$.1lep7anwpkynb.dlg@40tude.net...

mi sapresti spiegare a grandi linee le differenze tra le varie versioni?



http://www.borland.com/jbuilder/