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: 44.098 ]

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

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

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

Introdução ao Python (parte 1)

Introdução ao Python (parte 2)

Customizando o layout do plone

Leitura recomendada

Escreva poemas com a sua linguagem de programação

CMS Plone 4.1.6 com invólucro Virtualenv + Buildout + Mount Point + BLOB Storage + Unicode UTF-8

Instalação Plone 2.5.5 com módulos customizados

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