dúvida: Incompatible Type em aplicação desktop, IDE: NetBeans

1 resposta
gtludwig

Caros, boa noite,

Eu "herdei" o desenvolvimento de uma aplicação para desktop, mas veio o pedido de alterar o código-fonte. Abri o projeto no Netbeans 6.5.1 e comecei a renomear as classes e métodos (usando CTRL+R ou Refactor > Rename) para ver a coisa funcinando antes de alterar alguma coisa da lógica.

Da maneira que está hoje, muita coisa é feita na montagem da tela e eu pretendo alterar isso durante o final de semana, mas o problema em questão agora mostro no método save abaixo:

@Action(enabledProperty = "needSave")
public SystemTasks save() {
      return new SaveTask(getApplication());
}

    private class SaveTask extends org.jdesktop.application.Task<Object, Void> {

        SaveTask(org.jdesktop.application.Application app) {
            // Runs on the EDT.  Copy GUI state that
            // doInBackground() depends on from parameters
            // to SaveTask fields, here.
            super(app);
        }

        @Override
        protected Object doInBackground() {
            // Your SystemTasks's code here.  This method runs
            // on a background thread, so don't reference
            // the Swing GUI from here.
            for (Equipment e : equipmentList) {
                Colection.getInstancia().store(e);
            }
            setNeedSave(false);
            setMessage("Saving...");
            return null;  // return your result
        }

        @Override
        protected void succeeded(Object result) {
            // Runs on the EDT.  Update the GUI based on
            // the result computed by doInBackground().
            setMessage("Saved!");
        }
    }

Toda a linha do "return new ..." fica sublinada de vermelho e a mensagem de erro é a seguinte:
"incompatible types
found: [nomeDoProjeto].[nomeDoProjeto]View.SaveTask
required: [nomeDoProjeto].business.entities.SystemTasks"

Pelo o que eu entendi, é um problema de referência, mas o import do required já está declarado.

Alguma luz?

Obrigado desde já!

1 Resposta

R

Não é um problema de referência, é um problema de incompatibilidade de tipos. O método save() deve retornar um objeto do tipo SystemTasks, mas você está tentando retornar um objeto do tipo SaveTask.

Criado 9 de maio de 2009
Ultima resposta 14 de mai. de 2009
Respostas 1
Participantes 2