package Ġcn . je ff . app . magic cube Ċ Ċ import Ġjavafx . event . ActionEvent Ċ import Ġjavafx . f xml . FXML Loader Ċ import Ġjavafx . scene . Group Ċ import Ġjavafx . scene . Perspective Camera Ċ import Ġjavafx . scene . Sub Scene Ċ import Ġjavafx . scene . layout . Border Pane Ċ import Ġjavafx . scene . paint . Color Ċ import Ġjavafx . scene . transform . Rotate Ċ import Ġjavafx . scene . transform . Translate Ċ import Ġt orn ad of x .* Ċ Ċ class ĠMain Wnd Ġ: ĠView (" 3 D éŃ Ķ æĸ¹ ") Ġ{ ĊĊ ĉ override Ġval Ġroot : ĠBorder Pane Ċ ĉ private Ġval Ġj : ĠMain Wnd J ĊĊ ĉ init Ġ{ Ċĉ ĉ primary Stage . is Resizable Ġ= Ġtrue ĊĊĉ ĉ val Ġloader Ġ= ĠF XML Loader () Ċĉ ĉ root Ġ= Ġloader . load ( Ċĉĉ ĉ java Class . getResource AsStream ( Ċĉĉĉ ĉ " Main Wnd . f xml " Ċĉĉ ĉ ) Ċĉ ĉ ) Ċĉ ĉ j Ġ= Ġloader . get Controller () Ċĉ ĉ j . k Ġ= Ġthis ĊĊĉ ĉ root . center Ġ{ Ċĉĉ ĉ group Ġ{ Ċĉĉĉ ĉ add ( Sub Scene ( Group (). apply Ġ{ Ċĉĉĉĉ ĉ add ( Mc Block (). apply Ġ{ Ċĉĉĉĉĉ ĉ transforms . add ( Rotate ( 0 . 0 , ĠRotate . Z _ AXIS )) Ċĉĉĉĉ ĉ }) Ċĉĉĉ ĉ }, Ġ 6 4 0 . 0 , Ġ 4 8 0 . 0 ). apply Ġ{ Ċĉĉĉĉ ĉ fill Ġ= ĠColor . A QUA Ċĉĉĉĉ ĉ camera Ġ= ĠPers pective Camera ( true ). apply Ġ{ Ċĉĉĉĉĉ ĉ transforms . addAll ( Ċĉĉĉĉĉĉ ĉ Rotate (- 4 5 . 0 , ĠRotate . Y _ AXIS ), Ċĉĉĉĉĉĉ ĉ Rotate (- 2 0 . 0 , ĠRotate . X _ AXIS ), Ċĉĉĉĉĉĉ ĉ Translate ( 0 . 0 , Ġ 0 . 0 , Ġ- 1 5 . 0 ) Ċĉĉĉĉĉ ĉ ) Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ }) Ċĉĉ ĉ } Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ fun Ġbtn Click ( action Event : ĠAction Event ) Ġ{ Ċĉ ĉ when Ġ( action Event . source ) Ġ{ Ċĉĉ ĉ j . btn 0 1 Ġ-> Ġ{ Ċĉĉĉ ĉ j . label 1 . text Ġ= Ġ" çĤ¹åĩ» äºĨ æĮīéĴ® ãĢĤ " Ċĉĉ ĉ } Ċĉĉ ĉ else Ġ-> Ġ{ Ċĉĉĉ ĉ // Ġ ä¸įä¼ļ è¿Ĳè¡Į åĪ° è¿ĻéĩĮ Ċĉĉĉ ĉ throw ĠException (" æĦı å¤ĸ ï¼ģ ") Ċĉĉ ĉ } Ċĉ ĉ } Ċ ĉ } Ċ Ċ } Ċ