Utilizando as bibliotecas do Java usando o Jython

Neste tutorial iremos aprender como implementar um HttpServlets utilizando o Jython (Python) dentro de um container do Tomcat. Também aprenderemos como utilizar as bibliotecas nativas do Java dentro do Jython, trabalhando seus atributos, utilizando exemplos explicativos.

[ Hits: 45.661 ]

Por: Fabio Rizzo Matos em 19/11/2004 | Blog: http://www.vindula.com.br


Uso de javax.swing



Podemos trabalhar outras bibliotecas do Java. Vamos ver um exemplo de uso da biblioteca javax.swing, que tem sua documentação no endereço:
Vamos iniciar o uso do Jython. Digite "jython" em sua console (prompt no Windows). Você deverá ver algo semelhante ao abaixo:

Jython 2.1 on java1.5.0 (JIT: null)
Type "copyright", "credits" or "license" for more information.
>>>

Esse porém é o modo interativo do Jython, onde se tem a resposta do comando on-the-fly. Porém em alguns casos esse tipo de interação pode atrapalhar. Podemos colocar os códigos dentro de arquivos textos comuns com a extensão .py. Para executarmos o comando fazermos em sua console(prompt no Windows) o comando:

$ jython nomedoarquivo.py

Esse procedimento inicia o seu programa em Jython. Vamos agora fazer um pequeno programa utilizando as bibliotecas do javax.swing. Crie um arquivo chamado soma.py. Dentro desse arquivo digite o seguinte código:

import javax.swing as libswing

pnumero = libswing.JOptionPane.showInputDialog("Digite um Numero Inteiro: ")
snumero = libswing.JOptionPane.showInputDialog("Digite um Numero Inteiro: ")

soma = int(pnumero) + int(snumero)
libswing.JOptionPane.showMessageDialog(None, "A soma eh %d " % soma)

Salve o código acima e rode:

$ jython soma.py

O resultado seria:






Este é um pequeno exemplo de como podemos trabalhar as bibliotecas gráficas do swing dentro do Jython utilizando o Python. Vamos entender o código:
  • import javax.swing as libswing

    Importa as bibliotecas do swing.

  • pnumero = libswing.JOptionPane.showInputDialog("Digite um Numero Inteiro: ")
    snumero = libswing.JOptionPane.showInputDialog("Digite um Numero Inteiro: ")

    Define as variáveis, chamando a função JoptionPane.showInputDialog("mensagem") da biblioteca swing e armazenando a resposta do utilizador.

  • soma = int(pnumero) + int(snumero)

    Soma o valor das duas variáveis. O int(pnumero) e o int(snumero) é utilizado para converter o valor da variável em inteiro para realizarmos a soma. Por padrão o valor armazenado fica no formato String, e se não fosse feita a conversão teríamos o seguinte resultado:

    O valor da soma seria a concatenação dos dois valores e não a soma em si. Por isso a importância da conversão.

  • libswing.JOptionPane.showMessageDialog(None, "A soma eh %d " % soma)

    Este trecho do código mostra na tela através do componente JOptionPane.showMessageDialog(None, "mensagem") o valor da variável soma. Como podem ver, o código é simples de se entender e muito simples.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Uso de java.lang.String
   3. Uso de javax.swing
   4. Uso do javax.servlet.http
   5. Conclusão
   6. Apêndice A1 - Instalando o Jython
   7. Apêndice A2 - Instalando o Tomcat
Outros artigos deste autor

ZPT - Zope Pages Templates

Criando formulários no Zope/Plone utilizando o banco de dados MySQL

Gerenciando registros em banco de dados com Zope

Introdução ao Python (parte 2)

Introdução ao Jython

Leitura recomendada

Instalação Plone 2.5.5 com módulos customizados

Introdução ao Python (parte 1)

Escreva poemas com a sua linguagem de programação

Instalando o MySQL no Zope/Plone e criando uma pequena aplicação

FreeBSD + Zope/Plone, uma idéia frustrante?

  
Comentários
[1] Comentário enviado por leandro_hamid em 07/11/2007 - 11:53h

De ante mão quero agradecer e parabenizar por este artigo e por todos os outros artigos que tive a oportunidade de ler já que estou me iniciando na tecnologia Python e afins.

Mas, eu queria dizer que ao rodar script/exemplo soma.py foi exibido os seguintes erros:

Execução no Shell:

File "C:\jython2.2.1\Curso\soma.py", line 2
SyntaxError: Non-ASCII character '\xfa' in file C:\jython2.2.1\Curso\soma.py on
line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html f
or details

Execução via IDLE:


Traceback (most recent call last):
File "C:\jython2.2.1\Curso\soma.py", line 1, in <module>
import javax.swing as libswing
ImportError: No module named javax.swing

Execução via DOS:

File "C:\jython2.2.1\Curso\soma.py", line 2
SyntaxError: Non-ASCII character '\xfa' in file C:\jython2.2.1\Curso\soma.py on
line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html f
or details

Gostaria de saber o que pode ter acontecido, seria algo relacionado à configuração do Jython?Aguardo retorno.

PS: O jsdk e o jython estão devidamente instalados e rodando perfeiramente.

[2] Comentário enviado por leandro_hamid em 07/11/2007 - 14:04h

Boa tarde.

Para fechar esta questão de erros ao executar todo o código através do console o que eu notei é de alguam maneira o módulo não esta sendo importado, ou seka, erro an importação do módulo.

Isso ficou evidente a partir da execução do seguinte código:

>>> import java.lang.String as jls
>>> texto = jls("Bem Vindo ao Jython Usando Uma Biblioteca Java")
>>> texto = texto.toUpperCase()
>>> print texto

ao char o código no console (Dos e Shell) é exibido o seguinte erro:


C:\jython2.2.1\Curso>boasvindas.py
Traceback (most recent call last):
File "C:\jython2.2.1\Curso\boasvindas.py", line 1, in <module>
import java.lang.String as jls
ImportError: No module named java.lang.String

O que devo fazer para resolver este problema?

[3] Comentário enviado por leandro_hamid em 05/12/2007 - 11:11h

Poxa já tem um mês que postei as minhas dúvidas e nínguém respondeu, isso é que é querer ajudar hein!!!???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts