Ok, allora ho fatto così:
codice:
          String [] sel1={"M","F"};
          JComboBox boxGen=new JComboBox(sel1);
          boxGen.addItemListener(c.getGenere());
          String [] sel2={"0-9","10-15","16-20","21-50","51-over"};
          JComboBox boxEta=new JComboBox(sel2);
          boxEta.addItemListener(c.getEta());
          JComboBox boxCat=new JComboBox(); //devo inserire le categorie che però sono prese in lettura dal file
          boxGen.addItemListener(c.getCategoria());
          JButton b1=new JButton("add");

        JPanel headerLine1=new JPanel();
        headerLine1.add(boxGen);
        headerLine1.add(boxCat);
        headerLine1.add(boxEta);
        headerLine1.add(b1);

         header.add(headerLine1);
        add(header,BorderLayout.NORTH);
Mentre nel controller ho inserito

codice:
    private ItemListener genere;
    private ItemListener eta;
    private ItemListener categoria;
    private Action create;
    private String gen;
    private String cat;
    private String et;
....

public ControllerMain(final ModelMain m, final ViewMain v) {
        this.m=m;
        this.v=v;
.....
        genere=new ItemListener(){
            @Override
            public void itemStateChanged(ItemEvent e) {
                gen=e.getItem().toString();

        categoria=new ItemListener(){

            @Override
            public void itemStateChanged(ItemEvent e) {
                cat=e.getItem().toString();
            }};
            
        eta=new ItemListener(){
            @Override
            public void itemStateChanged(ItemEvent e) {
                et=e.getItem().toString();
            }};
        create=new AbstractAction(){
            @Override
            public void actionPerformed(ActionEvent e) {
                b=m.creaBiglietto(cat, et, gen);//crea un biglietto e lo riceve
//crea una tabella nel view con i dati del biglietto
                v.addRows(b.getGruppo(), b.getID(), b.getCategoria(), b.getGenere(), b.getPrice());
                
            }};
}


public ItemListener getGenere() {
        return genere;
    }
    public ItemListener getEta() {
        return eta;
    }
    public ItemListener getCategoria() {
        return categoria;
    }
    public Action getCreate(){
        return create;
    }
    public Action getRemove(){
        return remove;
    }

Il dubbio principale è se sto usando l'itemlistener in maniera corretta, in quanto non succede nulla quando faccio create!