package Ġcom . cent ury link . md w . studio . ui . widgets Ċ Ċ import Ġcom . intellij . ui . JB Int Spinner Ċ import Ġjava . awt . Component Ċ import Ġjavax . swing . Abstract Cell Editor Ċ import Ġjavax . swing . J Table Ċ import Ġjavax . swing . UI Manager Ċ import Ġjavax . swing . border . Empty Border Ċ import Ġjavax . swing . table . TableCell Editor Ċ Ċ class ĠNumber Cell ( value : ĠInt , Ġmin : ĠInt Ġ= Ġ 0 , Ġmax : ĠInt Ġ= Ġ 1 0 0 0 ) Ġ: ĠJ B Int Spinner ( value , Ġmin , Ġmax ) Ġ{ ĊĊĠĠĠ Ġfun Ġinit ( table : ĠJ Table , Ġis Selected : ĠBoolean , Ġhas Focus : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforeground Ġ= Ġtable . selection Foreground ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Ġ= Ġtable . selection Background ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforeground Ġ= Ġtable . foreground ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Ġ= Ġtable . background ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( has Focus ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġborder Ġ= ĠUI Manager . get Border (" Table . focus Cell Highlight Border ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġborder Ġ= ĠEmpty Border ( 1 , Ġ 1 , Ġ 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNumber Cell Editor () Ġ: ĠAbstract Cell Editor (), ĠTable Cell Editor Ġ{ ĊĊĠĠĠ Ġval Ġnumber Cell Ġ= ĠNumber Cell ( 0 ) ĊĊĠĠĠ Ġoverride Ġfun Ġget TableCell Editor Component ( table : ĠJ Table , Ġvalue : ĠAny ?, Ġis Selected : ĠBoolean , Ġrow : ĠInt , Ġcolumn : ĠInt ): ĠComponent Ġ{ ĊĠĠĠĠĠĠĠ Ġnumber Cell . number Ġ= Ġif Ġ( value ?. toString (). isNull Or Blank ()) Ġ 0 Ġelse Ġvalue . toString (). toInt () ĊĠĠĠĠĠĠĠ Ġnumber Cell . init ( table , Ġis Selected , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġreturn Ġnumber Cell ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Cell Editor Value (): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnumber Cell . number ĊĠĠĠ Ġ} Ċ }