|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 24
|
[JAVA] il pulsante non ascolta gli eventi
Ho realizzato una semplice interfaccia grafica con un JToolBar all'interno del quale ho inserito un JButton a cui ho associato un evento... il fatto è che l'evento, alla pressione del pulsante, non avviene mai
Codice:
public class Gui extends JFrame implements ActionListener {
.
..
...
JToolBar jToolBar = new JToolBar();
JButton prova = new JButton("Prova");
prova.addActionListener(this);
jToolBar.add(prova);
this.add(jToolBar, BorderLayout.PAGE_START);
}
/**
* actionPerformed
*
**/
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(prova)) {
System.out.println("ok");
}
}
public static void main(String[] args) {
JFrame frame = new Gui();
frame.setSize(500,500);
frame.setDefaultLookAndFeelDecorated(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
if(e.getSource().equals(prova)) {
Il prova a cui si riferisce questa riga non è quel JButton che hai dichiarato come variabile locale. Puoi provare con; if(e.getActionCommand().equals("Prova")) ma sarebbe più aderente a quello che vuoi realizzare: Codice:
public class Gui extends JFrame implements ActionListener {
private JButton prova = new JButton("Prova");
.
..
...
JToolBar jToolBar = new JToolBar();
//JButton prova = new JButton("Prova");
prova.addActionListener(this);
jToolBar.add(prova);
this.add(jToolBar, BorderLayout.PAGE_START);
}
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Mar 2007
Messaggi: 24
|
Giusto!!
Grazie per il consiglio |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Come altro consiglio che vale in generale, tutti i reference ai vari componenti mettili come variabili di istanza (marcate private). Dopodiché è facile testare la sorgente di un evento con: e.getSource() == unComponente
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
E poi, se il listener è registrato con un solo componente
quel controllo non serve proprio.
__________________
|Java Base| |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:37.











|








