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
def run(self): frame = JFrame('Spinner6', layout=FlowLayout(), defaultCloseOperation=JFrame.EXIT_ON_CLOSE) spinner = JSpinner( SpinnerDateModel( Date(2000, 2, 1), # zero origin month None, # minimum None, # maximum Calendar.DAY_OF_MONTH # Ignored by GUI )) spinner.setEditor(JSpinner.DateEditor(spinner, 'dd MMM yy')) frame.add(spinner) frame.pack() frame.setVisible(1)