FORUM DARKERS

Tecnologia & Informática => Programação => Python => Topic started by: Kratos on 02 de June , 2006, 05:31:32 PM

Title: Jython [Java + Python]
Post by: Kratos on 02 de June , 2006, 05:31:32 PM
: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!
Title: Re: Jython [Java + Python]
Post by: Ðark$pawn on 02 de June , 2006, 06:09:28 PM
Interessante essa fusão. Bom post!

Kratos, temos que resolver aquele assunto, entra mais no MSN... ;)
Title: Re: Jython [Java + Python]
Post by: _Dr4k0_ on 02 de June , 2006, 06:22:21 PM
tem tdo para bombar..