package Ġui Ċ Ċ import Ġtable layout . Table Ċ import Ġjava . awt . Color Ċ import Ġjava . awt . Component Ċ import Ġjava . awt . Desktop Ċ import Ġjava . awt . Grid BagLayout Ċ import Ġjava . io . IOException Ċ import Ġjava . net . URI Ċ import Ġjava . net . UR ISyntaxException Ċ import Ġjava . net . URL Ċ import Ġjavax . image io . Image IO Ċ import Ġjavax . swing . J Dialog Ċ import Ġjavax . swing . JLabel Ċ import Ġjavax . swing . JPanel ĊĊ Ċ class ĠSetup Update Dialog ( message : ĠString ) Ġ: ĠJ Dialog () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcontent Pane : ĠJPanel Ġ= ĠJPanel ( Grid BagLayout ()) ĊĠĠĠ Ġprivate Ġval Ġcontent Table Ġ= ĠTable () ĊĊĠĠĠ Ġprivate Ġval Ġbutton Visit Ġ= ĠSetup Button (" Open ĠWebsite ") ĊĠĠĠ Ġprivate Ġval Ġbutton Sn oo ze Ġ= ĠSetup Button (" Later ") ĊĠĠĠ Ġprivate Ġval Ġbutton Den y Ġ= ĠSetup Button (" Close ") ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Notification " ĊĠĠĠĠĠĠĠ Ġcontent Table . setSize ( 3 4 0 , Ġ 1 4 0 ) ĊĠĠĠĠĠĠĠ Ġset Size ( 3 4 0 , Ġ 1 4 0 ) ĊĊĠĠĠĠĠĠĠ Ġset Content Pane ( content Pane ) ĊĠĠĠĠĠĠĠ Ġcontent Pane . add ( content Table ) ĊĠĠĠĠĠĠĠ Ġmod ality Type Ġ= ĠMod ality Type . APPLICATION _ MOD AL ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Icon Image ( Image IO . read ( Setup Update Dialog :: class . java . getResource AsStream ("/ icon . png "))) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġui Layout ( message ) ĊĠĠĠĠĠĠĠ Ġui Style () ĊĠĠĠĠĠĠĠ Ġget Root Pane (). default Button Ġ= Ġbutton Visit ĊĊĠĠĠĠĠĠĠ Ġbutton Den y . addActionListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUi Manager . init UI () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton Sn oo ze . addActionListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispose () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUi Manager . init UI () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton Visit . addActionListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Web page ( URL (" https :// w ur st lang . org / ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . exit ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġset Location Relative To ( null ) ĊĠĠĠĠĠĠĠ Ġis Always On Top Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġui Layout ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwelcome Label Ġ= ĠJLabel ("< html >< div Ġstyle =' text - align : Ġcenter ;'> $ message </ div ></ html >") ĊĠĠĠĠĠĠĠ Ġwelcome Label . alignment X Ġ= ĠComponent . CENTER _ ALIGNMENT ĊĠĠĠĠĠĠĠ Ġwelcome Label . foreground Ġ= ĠColor . WHITE ĊĠĠĠĠĠĠĠ Ġcontent Table . top () ĊĠĠĠĠĠĠĠ Ġcontent Table . add Cell ( welcome Label ). width ( 3 0 0 f ). top (). pad (- 2 f , Ġ 5 f , Ġ 5 f , Ġ 5 f ) ĊĠĠĠĠĠĠĠ Ġcontent Table . row () ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton Table Ġ= ĠTable () ĊĠĠĠĠĠĠĠ Ġbutton Table . add Cell ( button Visit ). pad ( 0 f , Ġ 6 f , Ġ 0 f , Ġ 6 f ) ĊĠĠĠĠĠĠĠ Ġbutton Table . add Cell ( button Sn oo ze ). pad ( 0 f , Ġ 6 f , Ġ 0 f , Ġ 6 f ) ĊĠĠĠĠĠĠĠ Ġbutton Table . add Cell ( button Den y ). pad ( 0 f , Ġ 6 f , Ġ 0 f , Ġ 6 f ) ĊĊĠĠĠĠĠĠĠ Ġcontent Table . add Cell ( button Table ). grow X (). pad Top ( 6 f ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġui Style () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent Pane . background Ġ= ĠColor ( 3 6 , Ġ 3 6 , Ġ 3 6 ) ĊĊĠĠĠĠĠĠĠ ĠUi Style . setStyle ( content Table ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Web page ( uri : ĠURI ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdesktop Ġ= Ġif Ġ( Desktop . is Desktop Supported ()) ĠDesktop . get Desktop () Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( desktop Ġ!= Ġnull Ġ&& Ġdesktop . is Supported ( Desktop . Action . BROW SE )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdesktop . browse ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Web page ( url : ĠURL ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Web page ( url . to URI ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠUR ISyntaxException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }