package Ġvisual s . panels . main panel Ċ Ċ import Ġjavafx . geometry . Orientation Ċ import Ġjavafx . scene . control . TableView Ċ import Ġt orn ad of x .* Ċ import Ġvisual s . components . number input . Number Input Ċ Ċ type alias ĠRow Ġ= ĠMap < String , ĠString > Ċ Ċ class ĠMain Panel View Ġ: ĠView (" Big ĠM om my ") Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcontroller : ĠMain Panel Controller Ġby Ġinject () ĊĊĠĠĠ Ġprivate Ġval Ġtable : ĠTable View < Row > Ġ= ĠTable View < Row >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Class ( Main Panel Style . table Class ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġminimum Number Input : ĠNumber Input Ġ= ĠNumber Input ( minimum Value Ġ= Ġ 0 , ĠdefaultValue Ġ= Ġ 0 ) ĊĠĠĠ Ġprivate Ġval Ġmaximum Number Input : ĠNumber Input Ġ= ĠNumber Input ( minimum Value Ġ= Ġ 0 , ĠdefaultValue Ġ= Ġ 1 0 0 0 ) ĊĊĠĠĠ Ġoverride Ġval Ġroot Ġ= Ġborder pane Ġ{ ĊĠĠĠĠĠĠĠ Ġimport Style sheet ( Main Panel Style :: class ) ĊĊĠĠĠĠĠĠĠ Ġtop Ġ= Ġmen ubar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmenu (" File ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem (" Open ", Ġ" Shortcut + O "). action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Line Ġ= Ġminimum Number Input . getValue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Line Ġ= Ġmaximum Number Input . getValue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . open Loading Dialog ( super . current Window , Ġtable , Ġfirst Line , Ġlast Line ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmenu (" Edit ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem (" Copy ", Ġ" Shortcut + C ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem (" Paste ", Ġ" Shortcut + V ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġleft Ġ= Ġform Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Class ( Main Panel Style . sidebar Class ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield set (" Lines ", Ġlabel Position Ġ= ĠOrientation . VERTICAL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield (" Lower ĠBound ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ+= Ġminimum Number Input ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield (" Upper ĠBound ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ+= Ġmaximum Number Input ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield (" Column ĠSe parator ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext field (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton (" Load "). action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Line Ġ= Ġminimum Number Input . getValue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Line Ġ= Ġmaximum Number Input . getValue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . load File Into ( table , Ġfirst Line , Ġlast Line ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcenter Ġ= Ġtable ĊĊĠĠĠĠĠĠĠ Ġbottom Ġ= Ġh box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Class ( Main Panel Style . status Bar Class ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel (" Lines : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel ( controller . lines Property ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ