/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 - 2 0 1 7 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ // ĠThis Ġfile Ġwas Ġautomatically Ġgenerated Ġfrom Ġcor outines - guide - ui . md Ġby ĠK nit Ġtool . ĠDo Ġnot Ġedit . Ċ package Ġguide . ui . blocking . example 0 1 Ċ Ċ import Ġkotlinx . coroutines . experimental .* Ċ import Ġkotlinx . coroutines . experimental . channels .* Ċ import Ġkotlinx . coroutines . experimental . java fx . Java Fx Ġas ĠUI Ċ import Ġjavafx . application . Application Ċ import Ġjavafx . event . EventHandler Ċ import Ġjavafx . geometry .* Ċ import Ġjavafx . scene .* Ċ import Ġjavafx . scene . input . MouseEvent Ċ import Ġjavafx . scene . layout . Stack Pane Ċ import Ġjavafx . scene . paint . Color Ċ import Ġjavafx . scene . shape . Circle Ċ import Ġjavafx . scene . text . Text Ċ import Ġjavafx . stage . Stage Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ ĠApplication . launch ( Example App :: class . java , Ġ* args ) Ċ } Ċ Ċ class ĠExample App Ġ: ĠApplication () Ġ{ ĊĠĠĠ Ġval Ġhello Ġ= ĠText (" Hello ĠWorld ! "). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġfill Ġ= ĠColor . valueOf ("# C 0 C 0 C 0 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġfab Ġ= ĠCircle ( 2 0 . 0 , ĠColor . valueOf ("# FF 4 0 8 1 ")) ĊĊĠĠĠ Ġval Ġroot Ġ= ĠStack Pane (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġchildren Ġ+= Ġhello ĊĠĠĠĠĠĠĠ Ġchildren Ġ+= Ġfab ĊĠĠĠĠĠĠĠ ĠStack Pane . set Alignment ( hello , ĠPos . CENTER ) ĊĠĠĠĠĠĠĠ ĠStack Pane . set Alignment ( fab , ĠPos . BOTTOM _ RIGHT ) ĊĠĠĠĠĠĠĠ ĠStack Pane . set Margin ( fab , ĠIn sets ( 1 5 . 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġscene Ġ= ĠScene ( root , Ġ 2 4 0 . 0 , Ġ 3 8 0 . 0 ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġfill Ġ= ĠColor . valueOf ("# 3 0 3 0 3 0 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart ( stage : ĠStage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstage . title Ġ= Ġ" Example " ĊĠĠĠĠĠĠĠ Ġstage . scene Ġ= Ġscene ĊĠĠĠĠĠĠĠ Ġstage . show () ĊĠĠĠĠĠĠĠ Ġsetup ( hello , Ġfab ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠNode . onClick ( action : Ġsuspend Ġ( MouseEvent ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġevent Actor Ġ= Ġactor < MouseEvent >( UI , Ġcapacity Ġ= ĠChannel . CON FL ATED ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( event Ġin Ġchannel ) Ġaction ( event ) Ġ// Ġpass Ġevent Ġto Ġaction ĊĠĠĠ Ġ} ĊĠĠĠ ĠonMouse Clicked Ġ= ĠEventHandler Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠ Ġevent Actor . offer ( event ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġfib ( x : ĠInt ): ĠInt Ġ= ĊĠĠĠ Ġif Ġ( x Ġ<= Ġ 1 ) Ġ 1 Ġelse Ġfib ( x Ġ- Ġ 1 ) Ġ+ Ġfib ( x Ġ- Ġ 2 ) Ċ Ċ fun Ġsetup ( hello : ĠText , Ġfab : ĠCircle ) Ġ{ ĊĠĠĠ Ġvar Ġresult Ġ= Ġ" none " Ġ// Ġthe Ġlast Ġresult ĊĠĠĠ Ġ// Ġcounting Ġanimation ĠĊĠĠĠ Ġlaunch ( UI ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcounter Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhello . text Ġ= Ġ"${ ++ counter }: Ġ$ result " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 ) Ġ// Ġupdate Ġthe Ġtext Ġevery Ġ 1 0 0 ms ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġcompute Ġthe Ġnext Ġfib onacci Ġnumber Ġof Ġeach Ġclick ĊĠĠĠ Ġvar Ġx Ġ= Ġ 1 ĊĠĠĠ Ġfab . onClick Ġ{ ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ" fib ($ x ) Ġ= Ġ${ fib ( x )}" ĊĠĠĠĠĠĠĠ Ġx ++ ĊĠĠĠ Ġ} Ċ } Ċ