| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2005 10:09:59
|
Rodrigo Vieira Pinto
JavaEvangelist
![[Avatar]](/images/avatar/e7e69cdf28f8ce6b69b4e1853ee21bab.jpg)
Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline
|
Olá pessoal do GUj. Eu sei que posso estar falando besteira, mas o negócio é o seguinte: Trabalho com linux e tinha que passar um determinado número de caracteres para uma impressora térmica para ela poder imprimir etiquetas. Ai tentei usar javax.comm juntamente com o RXTX e não conseguia mandar. O programa mandava metade dos comandos (em forma de caractere) para a impressora e parava com a seguinte mensagem: fault segmentation Daí comentariei todo o código e criei outro assim: public boolean abreImprimeFechaParalela(char[] codImpressao){ try{ FileOutputStream fr = new FileOutputStream("/dev/lp0"); for(int i = 0; i < codImpressao.length; i++){ System.out.print(codImpressao[i]); fr.write(codImpressao[i]); } fr.flush(); fr.close(); return true; } catch(IOException ioe){ JOptionPane.showMessageDialog(null, "Problemas: " + ioe.getMessage()); ioe.printStackTrace(); } return false; } e imprimi a etiqueta normalmente. Fica ai a minha pergunta: para que usar esse pacote? Será que é há casos em que não tem jeito e deve - se usar javax.comm? Mais uma vez desculpe se falei alguma besteira.
|
"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna
"Eu vou dá 10 pau!!" - Aracy de Almeida
Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)
"Bem, dizia eu que a aritmética..." - Prof. Girafales
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2005 11:45:53
|
marcioandreyoliveira
What is classpath?
![[Avatar]](/images/avatar/a3048e47310d6efaa4b1eaf55227bc92.png)
Membro desde: 17/08/2004 14:10:05
Mensagens: 7
Offline
|
Olá.
Não sou especialista em javax.comm, mas como estou estudando o assunto agora, acho que posso te dar uma luz.
O javax.comm define uma interface, do mesmo modo que o JDBC e o JTAPI. Ou seja, temos apenas uma especificação.
Assim, cada fabricante deve implementar seus drivers nativos seguindo a interface que deseja implementar (JDC, por exemplo), para que a programação funcione.
Por exemplo, suponha que eu queira acessar o banco de dados xpto, que não possue driver JDBC. O programa simplismente não vai funcionar, pois sem o driver "real", implementado por alguém (o fabricante do nosso banco de dados fictício), só temos a "casca" do JDBC.
Pelo que eu descobri esta semana, uma implantação da javax.comm para o linux encontra-se em:
http://www.interstice.com/kevinh/linuxcomm.html, que possui o RXTX que tu usaste.
O teu problema pode ser devido a 2 coisas:
1) alguma configuração errada ou faltando;
2) algum problema na implementação do RXTX (não sei o quanto esta implementação é boa, pois ainda não tentei utilizá-la)
Quando tu usas
na realidade a vm vai interagir com os drivers nativos do linux, que são os responsáveis por realizar a impressão.
Para que usar então uma implementação do javax.comm?
Para tu teres um controle maior sobre as portas serias / paralelas sem teres que sair do java e utilizares o C/C++.
[]s,
|
Registered Linux User #124801
Computers are like air conditioners -- they stop working properly if you open WINDOWS
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2005 12:17:08
|
Rodrigo Vieira Pinto
JavaEvangelist
![[Avatar]](/images/avatar/e7e69cdf28f8ce6b69b4e1853ee21bab.jpg)
Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline
|
pô cara, valeu. Ótima explicação!!!
|
"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna
"Eu vou dá 10 pau!!" - Aracy de Almeida
Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)
"Bem, dizia eu que a aritmética..." - Prof. Girafales
 |
|
|
 |
|
|
|
|