Tengo el archivo Main.java así:
import javax.swing.SwingUtilities;
import controllers.Controller;
import models.Model;
import views.View;
public class Main {
    public static void main(String[] args){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                Model model = new Model();
                View view = new View();
                Controller c = new Controller(model, view);
                c.updateGUI();
            }
        });
    }
}
Tengo el archivo Controller.java, dentro del package o folder controllers, así:
package controllers;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import views.View;
import models.Model;
public class Controller {
    private Model model;
    private View view;
    //private ActionListener actionListener;
    public Controller(Model m, View v){
        this.model = m;
        this.view = v;
    }
    public void updateGUI(){
        ActionListener actionListener = new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                doAction();
            }
        };
        view.getButton().addActionListener(actionListener);
    }
    private void doAction(){
        String myString = view.getEuros();
        double euros = Double.parseDouble(myString);
        double dollars = model.convertMoney(euros);
        view.setEurosReadOnly(euros+"");
        view.setDollarsReadOnly(dollars+"");
    }
}
Mi pregunta es que si creará una clase que implementa ActionListener, donde iría: en views (el package/folder) o en controllers (el package/folder)?
La clase sería más o menos la siguiente:
public class FirstHandler implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        doAction();
    }
    private void doAction(){
        String myString = view.getEuros();
        double euros = Double.parseDouble(myString);
        double dollars = model.convertMoney(euros);
        view.setEurosReadOnly(euros+"");
        view.setDollarsReadOnly(dollars+"");
    }
}
Yo pienso que iría en controladores... Desde Controller.java creas una instancia de de la clase FirstHandler y en el constructor le pasas Model y View. Pero no estoy seguro. He visto info en internet y algunos aseguran que tiene que ir en las vistas, pero de esa forma creo que tendría que cambiar varias cosas. Y otros dicen que va en los controladores.
Gracias.



