DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login

Conhecendo na prática as camadas JNI/JNA Daruma

Veja neste artigo como é possível criar uma aplicação multi-plataforma, usando as camadas JNI/JNA desenvolvidas pela Daruma.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo
Olá pessoal,

Todos conhecem e já devem ter ouvido falar nesta linguagem orientada a objetos,ou até mesmo teve contato prático ainda que tenha sido apenas para compilar o famoso “Hello World”.

 
 public static void main(String[] args) {
      System.out.println("Hello, world!");
 }


O JAVA é muito procurado, pois ele é gratuito e uma linguagem multiplataforma,capaz de rodar em qualquer sistema

Operacional. O mesmo utiliza uma máquina virtual que pode ser emulada em qualquer sistema que suporte a linguagem C.


Mas do que adianta ter uma linguagem multiplataforma que roda sem mexer em uma única linha de código nas plataformas Windows e Linux, sendo que o fabricante do seu equipamento oferece apenas uma camada para Windows?
Não adianta nada, não é?

A Daruma criou a camada multiplataforma para que possa trabalhar em igualdade com seu sistema.

Aí sim vale apena utilizar uma linguagem multiplataforma,não acha? Nós também pensamos assim!

E desenvolvemos estas API's para que você possa desenvolver, sem ter que se preocupar se esta em plataforma Linux ou Windows.  


Diagrama JNI / JNA

Hoje, vamos ver o quando é fácil fazer um Cupom Fiscal no Java utilizando a camada JNA.

Primeiramente crie um novo projeto.



Agora baixe o driver JNA em nosso site: http://www.desenvolvedoresdaruma.com.br

O conteúdo da pasta vem zipado, extraia estes arquivos.

 

Retorne ao Projeto Java, clique com o botão direito em Bibliotecas e em seguida clique em Adicionar JAR/pasta...

Selecione agora o conteúdo da pasta com o driver DarumaFramework.JAR,e clique em OK.

Pronto! Já esta importada a camada JNA DarumaFramework para seu projeto.

Agora necessitamos importar a camada JNA de maneira que possamos manipular suas funções através do código do projeto.
Em nosso caso iremos importar o pacote com os métodos uteis para todos os produtos que é representado pela classe UTIL e os métodos das Impressoras Fiscais contidos na classe ECF.
Conforme abaixo:


Crie uma pequena interface gráfica em um formulário, semelhante ao exemplo abaixo:

Agora na prática!

Verificando Porta e a Velocidade da Impressora

 
private void mainPanelPropertyChange(java.beans.PropertyChangeEvent evt) {
        int iRetorno;
        iRetorno= ECF.eBuscarPortaVelocidade();
        
}


Abertura de Cupom Fiscal

 
private void cmd_abrirMouseClicked(java.awt.event.MouseEvent evt) {
   int iRetorno;
   iRetorno= ECF.iCFAbrirPadrao();

}

Registro de Item

 

 
private void cmd_venderMouseClicked(java.awt.event.MouseEvent evt) {
       int iRetorno;
       cmd_abrir.setEnabled(false);
       String aliquota, preco, codigo, descricao;
       aliquota= txt_aliquoata.getText();
       preco=txt_preco.getText();
       codigo=txt_cod.getText();
       descricao=txt_desc.getText();
       
       iRetorno= ECF.iCFVenderResumido(aliquota, preco, codigo, descricao);
}

Totalização do Cupom Fiscal

 
private void cmd_totalizarMouseClicked(java.awt.event.MouseEvent evt) {
 
        pnl_venda.setEnabled(false);
        cmd_vender.setEnabled(false);
        int iRetorno= ECF.iCFTotalizarCupomPadrao();
        
             if(iRetorno==1){
                   JOptionPane.showMessageDialog(null, "Cupom Fiscal Totalizado!");
                  }
            else
                   {
     JOptionPane.showMessageDialog(null, "Cupom Fiscal não Totalizado!");
                    }

Efetua Pagamento Padrão (Dinheiro)

 
private void cmd_pgtoMouseClicked(java.awt.event.MouseEvent evt) {
        cmd_totalizar.setEnabled(false);
        int iRetorno= ECF.iCFEfetuarPagamentoPadrao();
 }

Encerramento de Cupom Fiscal

 
private void cmd_finalizaMouseClicked(java.awt.event.MouseEvent evt) {
        cmd_pgto.setEnabled(false);
        int iRetorno= ECF.iCFEncerrarConfigMsg("Volte Sempre!");
    }   


Duvidas faça contato conosco!
SAC: 0800-772-5060
Portal Exclusivo ao Desenvolvedor: 0800-770-3320
Um abraço à todos!
O que você achou deste post?
Conhece a assinatura MVP?
Publicidade
Serviços

Mais posts