La variable local debe declararse final

Recibo el error "se accede al cuadro de variable local desde la clase interna; debe declararse final". Eso parece estar bien, pero realmente no creo que sea la mejor solución, así que esperaba que alguien más pueda ayudarme. Aquí está mi código:

public void showPublisherBox(JComboBox box) {
    if (publisherBox == null) {
        publisherBox = new AddPublisherForm();
        publisherBox.setLocationRelativeTo(this);
    }
    publisherBox.addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent we)
    {
        this.populatePublishers(box);
    }

        private void populatePublishers(JComboBox box){
            box.setModel(db.getPublishers());
        }
    });
    publisherBox.setVisible(true);
}

l formulario @Publisher es solo un nuevo JFrame que se abre y toma algo de información, y cuando está cerrado, quiero que el JComboBox se vuelva a llenar configurando el modelo desde mi método db.getPublishers ().

Entonces, ¿hay una mejor manera de hacer lo que estoy haciendo aquí, o voy a tener que declarar algo como final?

Gracia

Respuestas a la pregunta(5)

Su respuesta a la pregunta