Alterando Componentes Dinamicamente[RESOLVIDO]

1 resposta
banger

salve galera,

seguinte, tenho tres classes, 1 beam, outra de comunicação e a principal que é uma JFrame que contem um JLabel.

eu envio uma requisição via serial 232 e recebo uma resposta, e gostaria que o recebido fosse setado no label, mas naum sei como acessar o objeto e modificalo dinamicamente.

alguem conhece um jeito de faze-lo?

segue o codigo da CLSCom :

//metodo para escrever identificação
      public void escreverI() {

       String msg = "";

       msg = msg + STX + 'I' + ETX;

      try {
          outputStream.write(msg.getBytes());
      } catch (Exception a) {}
   }

      // trata a msg de identificação
      public String leIdent(String i) {
          

          i = "Código AeS:" + i.substring(0, 4) + " NE: " + i.substring(4, 5)
                  + " NS: " + i.substring(5, 9) + " VS: " + i.charAt(9) + "." + i.charAt(10);

          Beam.setIdent(i);
          Beam.setFlag(true);
          
          
          return i;
      }

      // leitura da mensagem recebida na porta serial
      public void LeMensagem() {

       // buffer para guardar os dados temporiariamente
       int readBuffer;
       String result = "";

       try {

           // enquanto tiver dados na serial salva em readbuffer
           while (inputStream.available() > 0) {
               readBuffer = inputStream.read();

               switch(status) {

                   case WAIT_STX :
                       // se dado for igual a STX começa a gravar
                       if(readBuffer == STX) {
                           status = protocolStatus.WAIT_ETX;
                           // variavel para armazenamento dos dados da serial
                           result = "";

                       }
                   break;

                   case WAIT_ETX :

                        // enquanto não chegar ETX, salva na variavel
                       if(readBuffer != ETX) {

                           result = result + (char) readBuffer;

                       } else {

                           switch(result.charAt(0)) {

                               // mensagem de identificação
                               case 'I' :
                                    
                                  // chama o metodo le ident
                                  leIdent(result.substring(1, result.length()));
                                   break;
                               // mensagem de entrada
                               case 'E' :
                                   break;
                               // mensagem de display
                               case 'D' :
                                   break;
                               // mensagem de botão
                               case 'B' :
                                   break;
                               // mensagem de escrita de saida
                               case 'W' :
                                   break;
                               // mensagem de leitura de saida
                               case 'S' :
                                   break;
                                // mensagem de moedas
                               case 'M' :
                                   break;
                               // mensagem de cartão
                               case 'C' :
                                   break;
                               // mensagem de impressora
                               case 'P' :
                                   break;
                           }
                       }

                   break;
               }
           }
       } catch(Exception a) {}


      }

     private void Disconect () {

        running = false;
    }
          // metodo para envio periodico de mensagens de escrita
    public void run() {

        while(running == true) {
          try {

              // tempo de troca de mensagens (250 milissegundos)
              Thread.sleep(250);

              switch(ClsBeam.SendMsg) {

                  case MIdent :
                       System.out.println("Enviando ident");
                      escreverI();

                      break;

                  case MSaidaW :
                      escreverI();
                      break;

                  case MSaidaS :
                      escreverI();
                      break;

                  case MEntrada :
                      break;

                  case MBotao :
                      escreverI();
                      break;

                  case MImp :
                      escreverI();
                      break;
                  case MCartao :
                      escreverI();
                      break;

              }

          } catch(Exception b) {

          }

    }
    }

        // eventos de serial
       public void serialEvent(SerialPortEvent spe) {
       switch (spe.getEventType()) {
           case SerialPortEvent.BI:
           case SerialPortEvent.OE:
           case SerialPortEvent.FE:
           case SerialPortEvent.PE:
           case SerialPortEvent.CD:
           case SerialPortEvent.CTS:
           case SerialPortEvent.DSR:
           case SerialPortEvent.RI:
           case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
               break;
           case SerialPortEvent.DATA_AVAILABLE:

               LeMensagem();
       }
   }
}

1 Resposta

javer
nomeCampoLabel.setText("o texto que foi recebido via requisição");
Criado 29 de março de 2011
Ultima resposta 29 de mar. de 2011
Respostas 1
Participantes 2