Oppure

Loading
03/04/12 14:56
swaqpoli
buonasera a tutti
ho dato un'occhiata alla documentazione oracle, ma ho ottenuto solo tanta confusione.
mi dite quali sono i metodi giusti da usare?
voglio creare un bottone che faccia uscire dal programma, anche forzandolo, mentre è in esecuzione.
una sorta di Ctrl+c però sotto forma di metodo.

l'altro metodo che cerco è quello che, una volta pigiato il bottone, lo rilasci, senza mantenerlo clickato.


:k:
aaa
03/04/12 18:23
Bonny
Comprare un manuale no?!:yup:
Allora associare un listener(per intercettare l'evento click) ad un jbutton ci sono vari modi per farlo..
1)implementare l'interfaccia ActionListener, un interfaccia è una classe con dei metodi i quali non hanno implementazione segue che non può eseere istanziata ma la si può implementare.
Quest'ultima operazione consiste nel creare una classe che implementa l'interfaccia segue che le istanza della suddetta classe seguiranno uno standard, ti faccio un esempio
interface Geometria{

  public int area();
}

class Quadrato implements Geometria{
  private int lato;
  public int area(){
      return lato * lato; 
  }
}

Come vedi l'implementazione dell'interfaccia avviene mediante la parola chiave implements (ti obbliga ad implementare tutti i metodi)
Come vedi ogni figura geometrica seguirà uno standard (se implementa l'interfaccia Geometria) ovvero posseggono un metodo che ritorna l'area della figura!
comunque nel tuo caso per il jbutton

class Finestra implements ActionListener{

    private JButton btn;

    public Finestra(){
       btn = new JButton("clicca");
       btn.addActionListener(this);
    }

    public actionPerformed(ActionEvent e){
        String t =  e.getActionCommand();
    /*come vedi posso aggiungere altri jbutton e riconoscerli mediante t*/
        if(t.equals("clicca")){
             System.exit(0); //arresto(forzato) il programma
        }
    }
}


2)sovrascrivere il metodo actionPerformed del jbutton in questione
class Finestra implements ActionListener{

    private JButton btn;

    public Finestra(){

       btn = new JButton("Genera");
       btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {  
               System.exit(0);
            }
        });   

     }

}

spero di esserti stato d'aiuto
Ultima modifica effettuata da Bonny 03/04/12 18:25
aaa