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