コード例 #1
0
class sRenderer(DefaultTableCellRenderer):

    #---------------------------------------------------------------------------
    # Name: __init__()
    # Role: Constructor
    #---------------------------------------------------------------------------
    def __init__(self):
        DefaultTableCellRenderer.__init__(self)
        self.spinner = JSpinner(SpinnerListModel(choices))

    #---------------------------------------------------------------------------
    # Name: getTableCellRendererComponent()
    # Role: Return the component containing the rendered value
    # Note: Called frequently, don't create a new component each time
    #---------------------------------------------------------------------------
    def getTableCellRendererComponent(
            self,
            table,  # table containing cell being rendered
            value,  # Object  - value being rendered
            isSelected,  # boolean - Is value selected?
            hasFocus,  # boolean - Does this cell have focus?
            row,  # int     - Row # (0..N)
            col  # int     - Col # (0..N)
    ):
        self.spinner.setValue(value)
        return self.spinner
コード例 #2
0
ファイル: SpinEdit5.py プロジェクト: memolp/swing-for-jython
class sRenderer( DefaultTableCellRenderer ) :

    #---------------------------------------------------------------------------
    # Name: __init__()
    # Role: Constructor
    #---------------------------------------------------------------------------
    def __init__( self ) :
        self.DTCR    = DefaultTableCellRenderer()
        self.spinner = JSpinner( SpinnerListModel( choices ) )

    #---------------------------------------------------------------------------
    # Name: getTableCellRendererComponent()
    # Role: Return the component containing the rendered value
    # Note: Called frequently, don't create a new component each time
    #---------------------------------------------------------------------------
    def getTableCellRendererComponent(
        self,
        table,               # table containing cell being rendered
        value,               # Object  - value being rendered
        isSelected,          # boolean - Is value selected?
        hasFocus,            # boolean - Does this cell have focus?
        row,                 # int     - Row # (0..N)
        col                  # int     - Col # (0..N)
    ) :
        comp = self.DTCR.getTableCellRendererComponent(
            table, value, isSelected, hasFocus, row, col
        )
#       print '[ %d, %d ] : %s on %s' % ( row, col, comp.getForeground(), comp.getBackground() )
        tf = self.spinner.getEditor().getTextField()
        tf.setForeground( comp.getForeground() )
        tf.setBackground( comp.getBackground() )
        self.spinner.setValue( value )
        return self.spinner
コード例 #3
0
class editor(DefaultCellEditor):

    #---------------------------------------------------------------------------
    # Name: __init__()
    # Role: Constructor - invoke the DefaultTableModel constructor
    #---------------------------------------------------------------------------
    def __init__(self):
        DefaultCellEditor.__init__(self, JTextField())
        self.spinner = JSpinner(SpinnerListModel(choices))
        self.spinner.setEditor(JSpinner.ListEditor(self.spinner))

    #---------------------------------------------------------------------------
    # Name: getCellEditorValue()
    # Role: Returns the current spinner selection
    #---------------------------------------------------------------------------
    def getCellEditorValue(self):
        return self.spinner.getValue()

    #---------------------------------------------------------------------------
    # Name: getTableCellEditorComponent()
    # Role: Returns the component to be used to edit the cell values
    #---------------------------------------------------------------------------
    def getTableCellEditorComponent(
            self,  # object reference
            table,  # JTable
            value,  # Object
            isSelected,  # boolean
            row,  # int
            column  # int
    ):
        self.spinner.setValue(value)
        return self.spinner
コード例 #4
0
    def testJSpinner(self):
        valueDummy = DummyObject()
        nextValueDummy = DummyObject()
        prevValueDummy = DummyObject()
        spinnerModel = SpinnerNumberModel(3, 0, 5, 1)

        spinner = JSpinner(spinnerModel)
        self.group.bind(spinner, 'value', valueDummy, 'value')
        self.group.bind(spinner, 'nextValue', nextValueDummy, 'value')
        self.group.bind(spinner, 'previousValue', prevValueDummy, 'value')

        assert valueDummy.value == 3
        assert nextValueDummy.value == 4
        assert prevValueDummy.value == 2

        spinner.setValue(5)
        assert valueDummy.value == 5
        assert nextValueDummy.value is None
        assert prevValueDummy.value == 4

        spinner.setValue(0)
        assert valueDummy.value == 0
        assert nextValueDummy.value == 1
        assert prevValueDummy.value is None