~/home_Jython/JFC-Swing/JList_/ColorChart-JList/colorJList.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.08 """ ## ---------------------------------------- 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 = (250,100), defaultCloseOperation = JFrame.EXIT_ON_CLOSE, ) TIPS(master = frame) frame.visible = True ## ---------------------------------------- from javax.swing import DefaultListModel from javax.swing import JList from javax.swing import JPanel from javax.swing import JScrollPane from javax.swing import JSplitPane from pawt import colors class TIPS(): #### colorNames = list(vars(colors)) #### colorNames = sorted(list(vars(colors))) colorNames = [e for e in dir(colors) if not e.startswith("_")] def __init__(self, master, *args, **keys): canvasPane = self._canvasPane( minimumSize = (50,100), ) controlPane = self._controlPane( items = self.colorNames, minimumSize = (80,100), valueChanged = self.valueChanged, ) self.splitPane = self._splitPane( leftComponent = canvasPane, rightComponent = controlPane, ) master.contentPane = self.splitPane def _canvasPane(self, **keys): comp = JPanel(**keys) self.canvas = comp return comp def _controlPane(self, items, valueChanged, **keys): model = DefaultListModel() for e in items: model.addElement(e) comp = JList( model = model, valueChanged = valueChanged, ) pane = JScrollPane( viewportView = comp, **keys ) return pane def _splitPane(self, **keys): pane = JSplitPane( orientation = JSplitPane.HORIZONTAL_SPLIT, dividerLocation = 100, **keys ) return pane ## ---------------------------------------- def valueChanged(self, e): # ListSelectionListener s = e.source.selectedValue self.canvas.background = getattr(colors, 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/22