Jython [Java + Python]

Started by Kratos, 02 de June , 2006, 05:31:32 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Kratos

:D
Jython


Esta linguagem promete hen !!!
Estou estudando muito pra aprender Jython e ja posso adiantar que é muito poderosa e rapida tmb, pratica, facil e ao mesmo tempo tem um poder incrivel!

Logo posto um mega tutorial da linguagem .. mas desde ja deixo um script (que eu achei numa revista gringa e passei pro PC ... ), fiz algumas modificações nos nomes de variaves e funções pra entenderem no portugues !!!

Reprodutor de MP3


# Jython-MP3
# Modificado por Kratos

import org.tritonus.share.sampled.TAudioFormat as taf
import org.tritonus.share.sampled.file.TAudioFileFormat as taf
import javax.sound.sampled as sampled
import java.io as io
import jarray
import java.util as util
import javax.swing as swing
import java.lang as lang
import java.awt as awt
import java.util as util
import javazoom.jl.player.advanced as pad
import java.io as io

class jyMusica(lang.Thread):
def __init__(self):
self.paneReprodutor()
self.menu()
self.win = swing.JFrame("Jy-MP3 Dario", size=(150,150),windowClosing=self.exit)
self.win.setJMenuBar(sefl.menu)
self.win.contentPane.add(self.pnlBotao, awt, BorderLayout.NORTH)
self.win.contentPane.add(self.pnlBotao2, awt, BorderLayot.CENTER)
self.win.show()
self.win.setResizable(0)
self.pack()


def exit(self, event):
lang.System.exit(0)


def run(self):
arquivo = io.File(self.nome)
inp = sampled.AudioSystem.getAudioInputStream(arquivo)
baseFileFormat = baseFileFormat.getFormat()
self.play()


def getTag(self, baseFileFormat):
properties = ftaf.properties(baseFileFormat)
key = "author"
val = properties.get(key)
key = "title"
tag = properties.get(key)
key = "album"
alb = properties.get(key)
self.txtArea.setText("")
self.txtArea.append("\nArtista: ")
self.txtArea.append(val + "\n")
self.txtArea.append("Faixa: ")
self.txtArea.append(tag = "\n")
self.txtArea.append("Album: ")
self.txtArea.append(alb + "\n")


def panelReprodutor(self):
self.pnlBotao = swing.JPanel(awt.FlowLayout())
self.pnlBotao2 = swing.JPanel(awt.FlowLayout())
acoes = ["Tocar", "Parar"]
self.txtArea = swing.JtextArea(6,18)
self.areaSrl = swing.JScrollPanel(self.txtArea)
self.pnlBotao.add(self.areaSrl)
for cadaBotao in acoes:
self.pnlBotao2.add(swing.JButton(cadaBotao,actionPerformed=self.acaoMenu))


def menu(self):
opciones = ["Tocar", "Parar"]
self.menu = swing.JMenuBar()
arquivo = swing.JMenu("Arquivo")
for eachOpcion in opciones:
arquivo.add(swing.JMenuItem(eachOpcion,actionPerformed=self.acaoMenu))
arquivo.addSeparator()
self.menu.add(arquivo)


def acaoMenu(self, event):
self.acao = event.getActionCommand()
if self.acao == "Tocar":
selector = swing.JFileChooser()
rtn = selector.showOpenDialog(self.win)
arquivo = selector.getSelectedFile()
self.player = add.AdvancedPlayer(io.FileInputStream(arquivo))
self.nome=arquivo.toString()
self.play()


elif self.acao=="Parar":
self.stop()


def play(self):
self.thread = lang.Thread(self)
self.Thread.start()


def stop(self):
self.player.stop()
# self.line.drain()
# self.line.stop()
# self.line.close()
# self.din.close()
# self.thread.interrupt()
# self.thread.finalize()
#


if __name__ == "__main__":
jyMusica()


Não da pra rodar tendo só o Python ou só o Java.. Tem que ter o Jython istalado
E isso logo logo eu posto aqui !!!

espero que gostem !!!

vlw!
::: "A vida é bela pra quem sabe curtir" :::





Ðark$pawn

Interessante essa fusão. Bom post!

Kratos, temos que resolver aquele assunto, entra mais no MSN... ;)

_Dr4k0_

100% Livre!!!Livre para escolher o que há de melhor no Windows e Linux. Livre de preconceito direto ou inverso!
Adote essa filosofia e tenha mais chance de sucesso profissional.