~/home_Jython/JFC-Swing/JSlider_/ColorChart-JSlider/colorJSlider.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.12 """ ## ---------------------------------------- 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/JFC-Swing/JSlider_/ColorChart-JSlider $ jython -i colorJSlider.py """ ## ---------------------------------------- from javax.swing import JFrame def tips(): frame = JFrame( title = "Color", size = (350,120), 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 JPanel from javax.swing import JSlider from javax.swing import JSplitPane from pawt import colors class TIPS(): colorNames = "red","green","blue", def __init__(self, master, *args, **keys): canvasPane = self._canvasPane( minimumSize = (50,100), ) controlPane = self._controlPane( colorNames = self.colorNames, stateChanged = self, minimumSize = (200,100), ) pane = self._splitPane( leftComponent = canvasPane, rightComponent = controlPane, ) master.contentPane = pane def _canvasPane(self, **keys): comp = JPanel(**keys) self.canvas = comp return comp def _controlPane(self, colorNames, **keys): def _slider(): comp = JSlider( maximum = 255, minimum = 0, paintTicks = True, majorTickSpacing = 32, minorTickSpacing = 8, **keys ) return comp def _panel(): pane = JPanel( layout = GridLayout(0,1), ) for e in colorNames: comp = _slider() pane.add(comp) return pane pane = _panel() self.control = pane return pane def _splitPane(self, **keys): pane = JSplitPane( orientation = JSplitPane.HORIZONTAL_SPLIT, dividerLocation = 100, **keys ) return pane ## ---------------------------------------- def __call__(self, e): # ChangeListener s = [e.value for e in self.control.components] self.canvas.background = 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/27