|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Messina
Messaggi: 684
|
Java - Per sapere da dove proviene un evento
Ciao a tutti,
ho un dubbio in merito alla classe ActionEvent della quale ho visto i metodi nel javadoc... Come è possibile sapere da quale pulsante proviene un click, se ho due pulsanti che si chiamano allo stesso modo ? E' possibile disambiguare e sapere da quale JPanel proviene ? Ho visto anche la classe MouseAdapter e MouseEvent non contiene nulla a riguardo... Cioè spero che la differenziazione non debba farla tramite le coordinate del click, troppo squallido... |
|
|
|
|
|
#2 | |||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
private JButton btn1;
private JButton btn2;
...
...
void actionPerformed (ActionEvent e) {
Object src = e.getSource ();
if (src == btn1) {
.....
} else if (src == btn2) {
.....
}
}
Quote:
Se è così, usa getParent() per sapere quale è il contenitore che contiene il pulsante. Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 08-02-2007 alle 09:35. |
|||
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
oppure, se vuoi, puoi implementare l'azione del pulsante direttamente, in poche parole una cosa del genere:
Codice:
private JButton pulsante=new JButton("TESTO");
pulsante.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//FAI LE OPERAZIONI CHE DEVE FARE IL PULSANTE
}
__________________
My gaming placement |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2004
Città: Messina
Messaggi: 684
|
Quote:
Forse pero' ho un problema, poichè io ho una classe public class Interf1 extends JFrame { ... } e quei btn1 e btn2 di cui parli tu sono la dentro e non sono visibili all'altra classe Evento che mi implementa ActionListener, nemmeno se li dichiaro 'protected' ,poichè il protected è riferito al package JFrame e non al mio... Cioè in teoria la soluzione potrebbe essere passare tutti i 15 JButton al costruttore della classe Evento Oppure costruire una classe involucro alla classe Interf1 in cui dichiarare tutto protected ... Grazie franksiska, ma non mi piace allocare classi al 'volo' cioè anonime o come si chiamano...mhh..non lo so (devo studiare |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2004
Città: Messina
Messaggi: 684
|
Quote:
|
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
public class Interf1 extends JFrame {
JButton btn1;
JButton btn2;
....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:39.



















