Originariamente inviato da Dreamer89
Ma come collego un file ai suoi eventi che si trovano in un'altra classe esterna?
Se proprio vuoi gestire gli eventi con classi esterne, tecnicamente è fattibile. Ma la classe esterna dovrebbe ottenere, tipicamente tramite costruttore, un reference alla classe da gestire.

Esempio (ometto gli import):

codice:
public class MyFrame extends JFrame
{
    JButton button;     // accesso almeno di "default", se non addirittura public!!
....

    button.addActionListener (new MyHandler (this));
...
}

- - - - altro sorgente - - - -

public class MyHandler implements ActionListener
{
    private MyFrame frame;

    public MyHandler (MyFrame frame)
    {
        this.frame = frame; 
    }

    public void actionPerformed (ActionEvent e)
    {
        frame.button.setText ("blabla");  // esempio
    }
}
a) È brutto.
b) È lungo e noioso ... devi sempre usare quel 'frame' per usare/invocare qualcosa.
c) Viola palesemente una delle principali regole della OOP, ovvero l'incapsulamento.


EDIT: l'esempio che ho fatto è decisamente il peggiore per quanto riguarda il punto c). Se dovessi impostare da MyHandler il testo del pulsante potrei decidere, ad esempio, di tenere privato il 'button' e mettere in MyFrame un metodo pubblico per fare ciò ma in ogni caso sarebbe codice in più e comunque da valutare, se vale la pena o no, in base a cosa si deve fare.
Indipendentemente da questo, MyHandler deve avere comunque un reference a MyFrame.