pessoal, o problema acho que e simples pra vcs mas pra mim por ter contato com o cod tah sendo mais dificil encontrar o erro mas vamos lah:
tenho um botao chamado conectar que ele se conecta(obviamente!uahuha) a porta serial com do pc, faz a leitura e recebe o texto ou outra coisa ai que mandar por ela, e tenho um botao desconectar, que na teoria deveria para a leitura da porta.
entaum kra meu prob naum e a conexão, mas a logica para desconectar, acho que e mais na parte de implantar no swing, tpw eu faço a conexao, recebo e envio, soh que eu quero interromper a thread para desconectar, ai se eu quero conectar eu aperto o botao conectar, de novo e começa tudo de novo!!
tpw naum tem como eu abortar o botao pq ele so ativa o metodo,por isso eu to achando que eu preciso cortar a comunicação na thread, pq ai ele teoricamente pararia o processo.
ai no codigo acima eu utilizei o interrupt para isso mas dah o erro apresentado, void type.
alias nem sei se o que fiz ai emcima é possivel, tpw dá pra cancelar um metodo com outro método??
lina
Oi,
O erro é claro e objetivo. Este código está com problemas de compilação, ou melhor, nem executa:
Como o amiguinho Zoren falou, verifique se o método stop() possui retorno.:
publicvoidclose(){try{readThread.stop();// Ele retorna alguma coisa?!?!if(readThread.stop()==true){// Não seria um isStop?!?! ou melhor, isSomeThing?! ou isConnected() ?read.append("desconectado!");}else{read.append("Impossivel desconectar!");}}catch(SecurityExceptione){System.out.println(e);}}
Tchauzin!
criador
Enxugando um pouco o código:
publicvoidclose(){try{// Não precisa fazer a comparação com == true, porque esté método já retorna um booleano (pelo menos deveria).read.append(readThread.stop()?"desconectado!":"Impossível desconectar!");}catch(SecurityExceptione){System.out.println(e);}}
Abraço!
banger
bom realmente nao esta retornando um valor booleano, vou passar agora o codigo do metodo que conecta:
publicvoidnulltest(){// initalize serial porttry{serialPort=(SerialPort)portId.open("SimpleReadApp",2000);}catch(PortInUseExceptione){}try{inputStream=serialPort.getInputStream();}catch(IOExceptione){}try{serialPort.addEventListener(this);}catch(TooManyListenersExceptione){}// activate the DATA_AVAILABLE notifierserialPort.notifyOnDataAvailable(true);try{// set port parametersserialPort.setSerialPortParams(56000,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);}catch(UnsupportedCommOperationExceptione){}// start the read threadreadThread=newThread(this);readThread.start();
galera mil desculpas e que eu naum sei mais oque faço aqui, pq o metodo e void, o stop e void e tambem naum aceita os valores booleans.
o coloquei o codigo assim, mas ainda sim naum rolou: