package Ġexample Ċ Ċ import Ġjava . awt .* Ġ// Ġk tl int - disable Ġno - wildcard - imports Ċ import Ġjavax . swing .* Ġ// Ġk tl int - disable Ġno - wildcard - imports Ċ Ċ fun Ġmake UI (): ĠComponent Ġ{ ĊĠ Ġval Ġbg Ġ= ĠToggle Button Group () ĊĠ Ġval Ġp Ġ= ĠJPanel () ĊĠ ĠlistOf (" A ", Ġ" B ", Ġ" C "). map (:: J ToggleButton ). forEach Ġ{ ĊĠĠĠ Ġit . action Command Ġ= Ġit . text ĊĠĠĠ Ġp . add ( it ) ĊĠĠĠ Ġbg . add ( it ) ĊĠ Ġ} ĊĊĠ Ġval Ġlabel Ġ= ĠJLabel () ĊĠ Ġval Ġbutton Ġ= ĠJButton (" check ") ĊĠ Ġbutton . addActionListener Ġ{ ĊĠĠĠ Ġlabel . text Ġ= Ġbg . selection ?. let Ġ{ ĊĠĠĠĠĠ Ġ""" "${ it . action Command }" Ġis Selected .""" ĊĠĠĠ Ġ} Ġ?: Ġ" Please Ġselect Ġone Ġof Ġthe Ġoption Ġabove ." ĊĠ Ġ} ĊĊĠ Ġval Ġbox Ġ= ĠBox . create Horizontal Box () ĊĠ Ġbox . add ( label ) ĊĠ Ġbox . add ( Box . create Horizontal Gl ue ()) ĊĠ Ġbox . add ( button , ĠBorderLayout . WEST ) ĊĠ Ġbox . add ( Box . create Horizontal Str ut ( 5 )) ĊĊĠ Ġreturn ĠJPanel ( Border Layout ()). also Ġ{ ĊĠĠĠ Ġit . add ( p ) ĊĠĠĠ Ġit . add ( box , ĠBorderLayout . SO UTH ) ĊĠĠĠ Ġit . border Ġ= ĠBorder Factory . create Empty Border ( 5 , Ġ 5 , Ġ 5 , Ġ 5 ) ĊĠĠĠ Ġit . preferred Size Ġ= ĠDimension ( 3 2 0 , Ġ 2 4 0 ) ĊĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠToggle Button Group Ġ: ĠButton Group () Ġ{ ĊĠ Ġprivate Ġvar Ġprev Model : ĠButton Model ? Ġ= Ġnull ĊĠ Ġprivate Ġvar Ġis Adjust ing Ġ= Ġfalse ĊĠ Ġoverride Ġfun ĠsetSelected ( m : ĠButton Model ?, Ġb : ĠBoolean ) Ġ{ ĊĠĠĠ Ġif Ġ( is Adjust ing ) Ġ{ ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( m Ġ== Ġprev Model ) Ġ{ ĊĠĠĠĠĠ Ġis Adjust ing Ġ= Ġtrue ĊĠĠĠĠĠ Ġclear Selection () ĊĠĠĠĠĠ Ġis Adjust ing Ġ= Ġfalse ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġsuper . setSelected ( m , Ġb ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprev Model Ġ= Ġselection ĊĠ Ġ} Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠ ĠEvent Queue . invoke Later Ġ{ ĊĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠ ĠUI Manager . set Look And Feel ( UI Manager . getSystem Look And Feel ClassName ()) ĊĠĠĠ Ġ}. on Failure Ġ{ ĊĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠ ĠToolkit . getDefault Toolkit (). be ep () ĊĠĠĠ Ġ} ĊĠĠĠ ĠJ Frame (). apply Ġ{ ĊĠĠĠĠĠ Ġdefault Close Operation Ġ= ĠWindow Constants . EXIT _ ON _ CLOSE ĊĠĠĠĠĠ Ġcontent Pane . add ( make UI ()) ĊĠĠĠĠĠ Ġpack () ĊĠĠĠĠĠ Ġset Location Relative To ( null ) ĊĠĠĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ