Pergunta

Eu escrevi um código no MATLAB que modula e desmodulam alguns sinais. Eu os implanto usando deploytool e a .jar funciona em um aplicativo sem GUI, mas me dá o Undefined variable "modem" or class "modem.pskmod". em um aplicativo com a GUI.

Basicamente, o que eu quero saber o que fará com que esse erro ocorra ao olhar em volta, não encontro muita documentação sobre esse erro.

Como não entendo por que funciona em um aplicativo, mas falha em outro quando o código que eu uso é quase semelhante ao chamar o método.

Foi útil?

Solução

OK, depois de muitos testes e comparação da diferença entre um aplicativo sem uma GUI e um aplicativo com uma GUI. Encontrei uma solução para o meu problema.

Como um aplicativo sem uma GUI Run init, o método desde o início do aplicativo (existe apenas um tópico)
import matlabFunction.*;
public static void main(String[] args) {
matlabFunction test = new matlabFunction(); test.runFunction(1, lstABC.toArray());
}

Mas no meu código com a GUI, execute o método init de dentro do jframe (main () contém meu código init) que está dentro do EDT

public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            try {

                new main();
            } catch (Exception p) {
            }
        }
    });
}  

O erro ocorre com a maneira acima de iniciar o método MATLAB. Mas se eu mudar de maneira de chamar o método init como abaixo, o erro será resolvido.

public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            try {
                matlabFunction test = new matlabFunction();
                new main(test);
            } catch (Exception p) {
            }
        }
    });
} 

Então, acredito que o motivo do meu problema não é chamar o método init do thread "primeiro" que inicia o aplicativo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top