from java.awt import BorderLayout as BL, Color, Button, Panel
class Scribble(Panel):
""" A simple GUI example """
def __init__ (self): # constructor
Panel.__init__(self, BL())
self.add(Button('Clear', actionPerformed=self.doClear),
BL.SOUTH)
self.mouseDragged = self.doDrag
self.mousePressed = self.doPress
self.__last = 0, 0
def doClear (self, event):
""" clear background """
g = self.graphics
g.color = self.background
g.fillRect(0, 0, self.size.width, self.size.height)
def doDrag (self, event):
""" draw line from last to here """
g = self.graphics
g.color = Color.black
lx, ly = self.__last
x = event.x; y = event.y
g.drawLine(lx, ly, x, y) # draw new line segment
self.__last = x, y # save coordinates
def doPress (self, event):
""" save click point """
self.__last = event.x, event.y
if __name__ == "__main__":
def doClose (event):
import sys
sys.exit()
from java.awt import Frame
frame = Frame("Scribble", windowClosing=doClose)
frame.add( Scribble() )
frame.size = 400, 300
frame.visible = 1
def doClose (event):
frame.visible = 0
# test
from java.awt import Frame
frame = Frame("Scribble", windowClosing=doClose)
frame.add( Scribble() )
frame.size = 400, 300
frame.visible = 1
# jHepWork @S.Chekanov