Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from javax.swing import *
- frame = JFrame("Hello Jython")
- label = JLabel("Hello Jython!", JLabel.CENTER)
- frame.add(label)
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
- frame.setSize(300, 300)
- frame.show()
- from javax.swing import *
- frame = JFrame("Hello Jython")
- label = JLabel("Hello Jython!", JLabel.CENTER)
- frame.add(label)
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
- frame.setSize(300, 300)
- frame.show()
- from __future__ import nested_scopes
- import java.lang as lang
- import java.util as util
- import java.awt as awt
- import javax.swing as swing
- class Particle:
- def __init__(self,initX,initY):
- self.x = initX
- self.y = initY
- self.rng = util.Random()
- def move(self):
- self.x += self.rng.nextInt(10) - 5
- self.y += self.rng.nextInt(20) - 10
- def draw(self,g2):
- g2.drawRect(self.x,self.y,10,10)
- class ParticleCanvas(awt.Canvas):
- def __init__(self,newSize):
- awt.Canvas.__init__(self,size=(newSize,newSize))
- def paint(self,g2):
- for p in self.particles:
- p.draw(g2)
- class ParticleApplet(swing.JApplet):
- def init(self):
- self.canvas = ParticleCanvas(self.getWidth())
- self.contentPane.add(self.canvas)
- def start(self):
- n = 10
- particles = []
- for i in range(n):
- particles.append(Particle(150,150))
- self.canvas.particles = particles
- self.threads = []
- for i in range(n):
- self.threads.append(self.makeThread(particles[i]))
- self.threads[i].start()
- def makeThread(self,p):
- class MyRunnable(lang.Runnable):
- def run(this):
- try:
- while 1:
- p.move()
- self.canvas.repaint()
- lang.Thread.sleep(100)
- except lang.InterruptedException:
- return
- return lang.Thread(MyRunnable())
Add Comment
Please, Sign In to add comment