/* - Ċ Ġ* Ġ#% L Ċ Ġ* ĠOpen ĠThe sa urus ĠJava ĠView Ċ Ġ* Ġ%% Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 Ġ- Ġ 2 0 2 1 ĠFre der ik ĠK am mel Ċ Ġ* Ġ%% Ċ Ġ* Ġ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 . Ċ Ġ* Ġ# L % Ċ Ġ*/ Ċ package Ġcom . github . vat b ub . opent he sa urus Ċ Ċ import Ġcom . github . vat b ub . opent he sa urus . logging . Logging Handlers Ċ import Ġcom . github . vat b ub . opent he sa urus . logging . exception Handler Ċ import Ġcom . github . vat b ub . opent he sa urus . preferences . Preference Keys . Gui Language Ċ import Ġcom . github . vat b ub . opent he sa urus . preferences . preferences Ċ import Ġcom . github . vat b ub . opent he sa urus . util . get Ċ import Ġjavafx . application . Application Ċ import Ġjavafx . f xml . FXML Loader Ċ import Ġjavafx . scene . Parent Ċ import Ġjavafx . scene . Scene Ċ import Ġjavafx . stage . Stage Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġjava . util .* Ċ Ċ class ĠApp Ġprivate Ġconstructor ( call Launch : ĠBoolean , Ġprivate Ġvar arg Ġval Ġargs : ĠString ?) Ġ: ĠApplication () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠappId Ġ= Ġ" com . github . vat b ub . opent he sa urus " ĊĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġinstance : ĠApp ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠĠĠĠĠ Ġval Ġstring Resources : ĠResource Bundle Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResource Bundle . get Bundle (" com . github . vat b ub . opent he sa urus . strings ", Ġpreferences [ Gui Language ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġactual Main ( var arg Ġargs : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread . setDefault Un caught ExceptionHandler ( exception Handler ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogging Handlers . initialize If Un initialized () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp ( true , Ġ* args ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġconstructor () Ġ: Ġthis ( false , Ġnull ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( call Launch ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch (* args ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġcurrent Stage : ĠStage ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġcontroller Instance : ĠMain View ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ@ Opt In ( Experimental Cor outines Api :: class ) ĊĠĠĠ Ġoverride Ġfun Ġstart ( primary Stage : ĠStage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinstance Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġcurrent Stage Ġ= Ġprimary Stage ĊĊĠĠĠĠĠĠĠ Ġval Ġf xml Loader Ġ= ĠF XML Loader ( java Class . getResource (" Main View . f xml "), Ġstring Resources ) ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġf xml Loader . load < Parent >() ĊĠĠĠĠĠĠĠ Ġcontroller Instance Ġ= Ġf xml Loader . get Controller () ĊĊĠĠĠĠĠĠĠ Ġval Ġscene Ġ= ĠScene ( root ) ĊĠĠĠĠĠĠĠ Ġprimary Stage . title Ġ= Ġstring Resources [" main Window . title "] ĊĠĠĠĠĠĠĠ Ġ// Ġprimary Stage . icons . add ( Image ( java Class . getResource AsStream (" icon . png "))) ĊĠĠĠĠĠĠĠ Ġprimary Stage . min Width Ġ= Ġroot . min Width ( 0 . 0 ) Ġ+ Ġ 7 0 ĊĠĠĠĠĠĠĠ Ġprimary Stage . min Height Ġ= Ġroot . min Height ( 0 . 0 ) Ġ+ Ġ 7 0 ĊĠĠĠĠĠĠĠ Ġprimary Stage . is Always On Top Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġprimary Stage . scene Ġ= Ġscene ĊĊĠĠĠĠĠĠĠ Ġprimary Stage . setOn Close Request Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller Instance ?. close () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprimary Stage . show () ĊĠĠĠ Ġ} Ċ } Ċ