~/home_Jython/apple_/swingBeans/swingColor.py

INDEX Python.use(better, Java) #Jython

》作業中です《


#! /usr/bin/env python
# coding: utf-8
## ----------------------------------------
##
## (C) Copyright 2000-2010, 小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
##
## ----------------------------------------
#...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
"""
>>> tips()

>>> ## ----------------------------------------
>>> None
version: #1.0.09
"""
## ---------------------------------------- bash
"""
stty erase ^H
PS1="$ "
alias jython="/Users/sketch/home_Jython/_release/jython2.5.0/bin/jython"
"""
## ---------------------------------------- Java/Jython
## ---------------------------------------- JFC/Swing
## ---------------------------------------- demo: java
## ---------------------------------------- demo: jython
"""
$ cd ~/home_Jython/apple_/refactoring/_swingTimer/
$ jython -i swingColor.py

"""
## ----------------------------------------
from javax.swing import JFrame

def tips():
    frame = JFrame(
        title = "Color",
        size = (200,100),
        defaultCloseOperation = JFrame.EXIT_ON_CLOSE,
        )
    TIPS(master = frame)
    frame.visible = True

## ----------------------------------------
from java.awt import Color
from java.awt import GridLayout
from javax.swing import JButton
from javax.swing import JPanel
from javax.swing import JSplitPane

class TIPS():
    colorNames = "red","green","blue",

    def __init__(self, master, *args, **keys):
        textPane = self._canvasPane(
            minimumSize = (50,100),
            )
        controlPane = self._controlPane(
            items = self.colorNames,
            minimumSize = (80,100),
            actionPerformed = self.actionPerformed,
            )
        self.splitPane = self._splitPane(
            leftComponent = textPane,
            rightComponent = controlPane,
            )
        master.contentPane = self.splitPane

    def _canvasPane(self, **keys):
        comp = JPanel(**keys)
        self.canvas = comp
        return comp

    def _controlPane(self, items, actionPerformed, **keys):
        pane = JPanel(
            layout = GridLayout(0,1),
            **keys
            )        
        for e in items:
            comp = JButton(
                text = e,
                actionPerformed = actionPerformed,
                )
            pane.add(comp)
        return pane

    def _splitPane(self, **keys):
        pane = JSplitPane(
            orientation = JSplitPane.HORIZONTAL_SPLIT,
            dividerLocation = 100,
            **keys
            )
        return pane        

    ## ----------------------------------------
    def actionPerformed(self, e):       # ActionListener
        s = e.source.text
        self.canvas.background = getattr(Color, s)

## ----------------------------------------
## ----------------------------------------
from time import ctime
from sys import argv, version

def inform(n=60):
    print("="*n)
    print("Version: %s"%version.split("\n")[0])
    print("Module : %s"%argv[0].split("/")[-1])
    print("Date   : %s"%ctime())
    print("="*n)

## ----------------------------------------
from doctest import testmod

if __name__=='__main__':
    inform()
    testmod()

## ========================================

Last updated♪2010/03/21