рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рдкреАрд╕реА рдкрд░ рдУрд░реЗрдХрд▓ рджреНрд╡рд╛рд░рд╛ "рдЧреЗрдЯрд┐рдВрдЧ рд╕реНрдЯрд╛рд░реНрдЯ рд╡рд┐рдж рдЬрд╛рд╡рд╛рдПрдлрдПрдХреНрд╕" рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╣реИрд▓реЛрд╡рд░реНрд▓реНрдбред CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдЗрдирдкреБрдЯ рд╡рд┐рдВрдбреЛ рдХреЛ рдмрджрд▓рдирд╛, FXML рдореЗрдВ рдПрдХ рдлреЙрд░реНрдо рдмрдирд╛рдирд╛, рдФрд░ рдПрдХ FXML рдлреЙрд░реНрдо рдореЗрдВ CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдлрд┐рд░ рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдФрд░ рд╕реВрдХреНрд╖реНрдорддрд╛рдПрдВ рдЬреЛ рд╣рдореЗрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдирд╣реАрдВ рдмрддрд╛рдИ рдЧрдИ рдереАрдВред
JavaFX рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ рдЦрдВрдб рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд░рд▓рддрдо JavaFX рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬрд┐рд╕реЗ рдЖрдк
рдпрд╣рд╛рдБ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред рджреВрд╕рд░реЗ рдЦрдВрдб рдореЗрдВ, рдПрдХ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рдЗрд╕реЗ
рдпрд╣рд╛рдВ рдкрд╣рд▓реЗ рдЖрд╡реЗрджрди рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛
рд╣реИ ред рдирддреАрдЬрддрди, рдХреЛрдб рдЖрдХрд╛рд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрдврд╝ рдЧрдпрд╛ рд╣реИред
HelloWorld.javapackage helloworld; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.scene.layout.GridPane; import javafx.geometry.*; import javafx.scene.text.*; import javafx.scene.control.*; import javafx.scene.paint.*; import javafx.scene.layout.HBox; public class HelloWorld extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("JavaFX Welcome"); GridPane grid = new GridPane(); grid.setAlignment(Pos.CENTER); grid.setHgap(10); grid.setVgap(10); grid.setPadding(new Insets(25, 25, 25, 25));
рд╕рдВрдХрд▓рди рдХрд░рдиреЗ, рдЪрд▓рд╛рдиреЗ, рдЬрд╛рд░ рдореЗрдВ рдкреИрдХреЗрдЬ рдФрд░ рдЬрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╕реАрдПрдордбреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрджреЗрд╢ рд╕рдорд╛рди рд░рд╣рддрд╛ рд╣реИред
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди @"C:\Program Files\Java\jdk1.7.0_40\bin\javac" -d out -classpath "C:\Program Files\Java\jre7\lib\jfxrt.jar" src\helloworld\HelloWorld.java @"C:\Program Files\Java\jdk1.7.0_40\bin\java" -classpath "C:\Program Files\Java\jre7\lib\jfxrt.jar;.\out" helloworld.HelloWorld @"C:\Program Files\Java\jdk1.7.0_40\bin\javafxpackager" -createjar -appclass helloworld.HelloWorld -srcdir .\out -outfile HelloWorld -v @"C:\Program Files\Java\jre7\bin\java.exe" -jar HelloWorld.jar @pause
рдЪрд▓реЛ рддреАрд╕рд░реЗ рдЦрдВрдб рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВред рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреВрд╕рд░реЗ рдЦрдВрдб рд╕реЗ рд░рд┐рдХреНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рдФрд░ рд╣рдо рдпрд╣ рдХрд░реЗрдВрдЧреЗ, рдХреЗрд╡рд▓ рд╣рдо Login.java рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди HelloWorld.javaред CSS рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред
рдирд┐рд░реНрджреЗрд╢ (рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ) рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ рдЬреЛ рдЖрдИрдбреАрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рдЪреМрдерд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл src \ login рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ CSS рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ src \ helloworld рдирд┐рдХрд▓рд╛ред рдЦреИрд░, рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЪрд▓реЛ рдЗрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рдмрд╕ рдЙрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рджреБрдирд┐рдпрд╛ рдХреЛ рдирдорд╕реНрдХрд╛рд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, HelloWorld.cssред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред
рдЫрдард╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ: рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд╛рдж
Scene scene = new Scene(grid, 300, 275); primaryStage.setScene(scene);
рд╕рдВрджрд░реНрдн
scene.getStylesheets().add (HelloWorld.class.getResource("HelloWorld.css").toExternalForm());
(рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд), рдареАрдХ рдкрд╣рд▓реЗ
primaryStage.show();
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрд╛рдХрд┐ рдкрд╛рда рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рддрд░рд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЖрдкрдХреЛ рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрдЪрд┐рдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдвреВрдВрдвреЗрдВ
scenetitle.setFont(Font.font(тАЬTahomaтАЭ, FontWeight.NORMAL, 20));
рдФрд░
actiontarget.setFill(Color.FIREBRICK);
рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдирд╛
scenetitle.setId("welcome-text");
рдФрд░
actiontarget.setId("actiontarget");
рдХреНрд░рдорд╢рдГред рдФрд░ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдмрдВрдж рдХрд░реЗрдВ, рдФрд░ рдиреАрдЪреЗ рд╕реБрдзрд╛рд░ рд▓рд╛рдЗрди рд▓рд┐рдЦреЗрдВред
рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдЖрдкрдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯ рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
HelloWorld.css .root { -fx-background-image: url("background.jpg"); } .label { -fx-font-size: 12px; -fx-font-weight: bold; -fx-text-fill: #333333; -fx-effect: dropshadow( gaussian , rgba(255,255,255,0.5) , 0,0,0,1 ); } #welcome-text { -fx-font-size: 32px; -fx-font-family: "Arial Black"; -fx-fill: #818181; -fx-effect: innershadow( three-pass-box , rgba(0,0,0,0.7) , 6, 0.0 , 0 , 2 ); } #actiontarget { -fx-fill: FIREBRICK; -fx-font-weight: bold; -fx-effect: dropshadow( gaussian , rgba(255,255,255,0.5) , 0,0,0,1 ); } .button { -fx-text-fill: white; -fx-font-family: "Arial Narrow"; -fx-font-weight: bold; -fx-background-color: linear-gradient(#61a2b1, #2A5058); -fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.6) , 5, 0.0 , 0 , 1 ); } .button:hover { -fx-background-color: linear-gradient(#2A5058, #61a2b1); }
рдЙрдиреНрд╣реЛрдВрдиреЗ рддреБрд░рдВрдд рд╕рдм рдХреБрдЫ рднрд░ рджрд┐рдпрд╛ рдХрд┐ рдкрд░рд┐рдгрд╛рдо, рдкреГрд╖реНрдарднреВрдорд┐ рдЫрд╡рд┐, рдкрд╛рда рдкреНрд░рднрд╛рд╡, рдмрдЯрди рдкреНрд░рднрд╛рд╡ рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП рддреАрд╕рд░реЗ рдЦрдВрдб рдХрд╛ рдкрд╛рда рдзреАрд░реЗ-рдзреАрд░реЗ рдЫрдбрд╝реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред
рдЕрд░реЗ рд╣рд╛рдБ, рдЖрдкрдХреЛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЗрдореЗрдЬ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдЪрд┐рддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ... рдЦреИрд░, рдореИрдВрдиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдпрд╛ рдбреНрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ред рдкрд╣рд▓реА рдмрд╛рд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЖрдпрд╛ (рд╡рд┐рдбрдВрдмрдирд╛, рдмрд╕ рдЬрдЧрд╣ рдореЗрдВ) рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ "рдореЗрд░реА рдбреНрд░реЙрдЗрдВрдЧреНрд╕ \" рдирдореВрдиреЗ рдХреЗ рдЪрд┐рддреНрд░ "- рд╕реВрд░реНрдпрд╛рд╕реНрддред рдЬреЗрдкреАрдЬреАред рдЗрд╕реЗ Background.jpg рдХрд╛ рдирд╛рдо рджрд┐рдпрд╛ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦ рджрд┐рдпрд╛ред
рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХред рдЪрд▓рд╛рдПрдБред рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ! рд╣рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдЬреНрдЮрд╛рдд рд╕реНрд░реЛрдд, рдЗрд╕рд▓рд┐рдП, рдПрдХ рдЕрдЬреНрдЮрд╛рдд рд╕реНрд░реЛрдд, рдЦрддрд░рдирд╛рдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдЕрдкрдорд╛рди рдХреЗ рдмреАрдЪ рдореЗрдВ рд╕рднреА рдкрд░рд┐рдЪрд┐рдд рдкрддреНрд░ рд╣реИрдВ:
at helloworld.HelloWorld.start(HelloWorld.java:68)
рдФрд░ рд╕рд╛рда-рдЖрдард╡реАрдВ рдкрдВрдХреНрддрд┐ рдореЗрдВ, рд╣рдо рдмрд╕ CSS рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред рдЬрд┐рд╕реЗ src \ helloworld рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ "рд╢реЛрдз" рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореИрдВ рдпрд╣ рднреА рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдиреЗрдЯрдмрд┐рди рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди, рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдХрднреА рднреА рдХрд╣реАрдВ рднреА рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕реАрдзреЗ рд▓реЗрдЯрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЕрдирдкреИрдХреНрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ HelloWorld.class рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐ out \ helloworld \ рдореЗрдВ рд╣реИред рдЪрд▓реЛ рд╡рд╣рд╛рдБ рдЬрд╛рдУ рдФрд░ рдЗрд╕реЗ рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдлреЗрдВрдХ рджреЛред
рдЕрдм рд╕рдВрдХрд▓рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЪрд▓рд╛рддрд╛ рд╣реИред рд╕рдЪ рд╣реИ, рдкреГрд╖реНрдарднреВрдорд┐ рдЪрд┐рддреНрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдПрдХ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИ, рдФрд░ рд▓рд╛рд▓ рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рджрдмрд╛рдП рдЧрдП рдмрдЯрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд╛рд▓-рдИрдВрдЯ рд╕рдВрджреЗрд╢ рджреЗрдЦрдиреЗ рдореЗрдВ рдХрдард┐рди рд╣реИ, рд▓реЗрдХрд┐рди рдпреЗ рдЯреНрд░рд┐рдлрд╝рд▓реНрд╕ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдФрд░ рдмрд╛рдд рдордЬрд╝реЗрджрд╛рд░ рд╣реИ - рдЕрдм рдЬрд╛рд░ рдкреИрдХрд┐рдВрдЧ рдХрдорд╛рдВрдб рджреЗрдВ рдФрд░ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рднрд╛рдЧреЛ рдордд! рдФрд░ рдЕрдЧрд░ рд╡реЗ рдПрдХ рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдереЗ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдирд╣реАрдВ, рддреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ ... рдЪрд▓реЛ рдЬрд╛рд░ рдореЗрдВ рдЪрдврд╝рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдерд╛ред рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ com \ javafx \ main рдирд┐рд╣рд┐рдд рд╣реИ, рдЬрд┐рд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ javafxpackager рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдФрд░ рдореИрдЯрд╛-рдЗрдиреНрдлреЛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреА рдЧрдИ рд╣реИ, рдпрд╣ рдЕрдм рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдФрд░ Helloworld рдлрд╝реЛрд▓реНрдбрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ HelloWorld.css рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди HelloWorld.bss рд╣реИ! рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкреИрдХрд░ рдЪреАрдХрд▓реА, рд╣рдорд╛рд░реА рдЯреАрдо рдХреЗ рдмрд┐рдирд╛, рд╕реАрдПрд╕рдПрд╕ рдХреЛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд░реВрдк рдореЗрдВ рдирд┐рд░рд╕реНрдд рдХрд░ рджрд┐рдпрд╛ред рдЪреЗрдХ? рдЖрдЗрдП .css рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА .bss рдХреЛ рд╕рд╛рдард╡реАрдВ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддреБрд░рдВрдд рдЬрд╛рд░ рдкреИрдХ рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВред
рдЕрдм рдпрд╣ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдХреНрдпрд╛ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ, рдпрд╣ HelloWorld.class рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ! рд╡рд┐рднрд┐рдиреНрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рджреЛ рд╕реЗрдЯ рди рд░рдЦреЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП bss рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рд╡рд╣ рдХрдорд╛рдВрдб рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рд╣рдо css2bss.cmd рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
@"C:\Program Files\Java\jdk1.7.0_40\bin\javafxpackager" -createbss -srcdir .\src\helloworld -outdir .\out\helloworld -srcfiles HelloWorld.css -v @pause
рд╣рдо CSS рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ src \ helloworld \ рдореЗрдВ рдлреЗрдВрдХ рджреЗрдВрдЧреЗ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рд╣рдорд╕реЗ рдорд╛рдВрдЧ рдХреА рдереА), рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдо рдЙрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ getStylesheets (), рдПрдХреНрд╕рдЯреЗрдВрд╢рди .bs рд╣реИред рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред рд╣рдо bss рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рдЬрд╛рд░ рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм HelloWorld.class рдФрд░ HelloWorld.jar рджреЛрдиреЛрдВ рд╕реЗ рдЪрд▓рд╛рдПрдВред рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕реА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдЕрдкрдиреЗ рджрдо рдкрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рд╡рд┐рд╖рдп рд╕реАрдзреЗ JavaFX рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред
рдЦреИрд░, рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдЪреМрдерд╛ рдЦрдВрдб рдПрдлрдПрдХреНрд╕рдПрдордПрд▓ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдЗрддрдирд╛ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрдбрд╝реЛрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдПрдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, GetStartFXMLред рд╡рд╣рд╛рдБ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдБрдЪ рдмреИрдЪ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдФрд░ рдЖрдЙрдЯ рдФрд░ src \ helloworld рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдФрд░ рд╕реНрд░реЛрдд рдХреЛ рдЕрдВрддрд┐рдо рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
HelloWorld.java package helloworld; import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.*; import javafx.fxml.*; public class HelloWorld extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("fxml_example.fxml")); Scene scene = new Scene(root, 300, 275); stage.setTitle("FXML Welcome"); stage.setScene(scene); stage.show(); } }
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдЪреМрдереЗ рдЦрдВрдб рдореЗрдВ рдмрд┐рдЦрд░реЗ рд╣реБрдП рдлрд╝рд╛рдЗрд▓ fxml_example.fxml рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдЗрд╕рдХрд╛ рдбреЗрдЯрд╛ рдордХреНрдЦреА рдкрд░ рдЙрдард╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ, рдпрд╣ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ HelloWorld.class рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рддреБрд░рдВрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЬреЛ рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐, рдмрд╛рд╣рд░ \ helloworld рдореЗрдВ, рдЗрд╕рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рд╕рдВрдХрд▓рди рдХреЗ рдкрд╣рд▓реЗ, рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╕реНрд╡рдпрдВ рдореЗрдВ рдПрдХ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБрдЧреЗред
fxml_example.fxml <?xml version="1.0" encoding="UTF-8"?> <?import java.net.*?> <?import javafx.geometry.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.text.*?> <GridPane fx:controller="helloworld.FXMLExampleController" xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10" styleClass="root"> <padding><Insets top="25" right="25" bottom="10" left="25"/></padding> <Text id="welcome-text" text="Welcome" GridPane.columnIndex="0" GridPane.rowIndex="0" GridPane.columnSpan="2"/> <Label text="User Name:" GridPane.columnIndex="0" GridPane.rowIndex="1"/> <TextField GridPane.columnIndex="1" GridPane.rowIndex="1"/> <Label text="Password:" GridPane.columnIndex="0" GridPane.rowIndex="2"/> <PasswordField fx:id="passwordField" GridPane.columnIndex="1" GridPane.rowIndex="2"/> <HBox spacing="10" alignment="bottom_right" GridPane.columnIndex="1" GridPane.rowIndex="4"> <Button text="Sign In" onAction="#handleSubmitButtonAction"/> </HBox> <Text fx:id="actiontarget" GridPane.columnIndex="1" GridPane.rowIndex="6"/> <stylesheets> <URL value="@HelloWorld.css" /> </stylesheets> </GridPane>
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреБрд░рдВрдд CSS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЦреАрдВрдЪрдирд╛ рдХреНрдпреЛрдВ? рдЗрд╕рд▓рд┐рдП, рдирдП рдмрдирд╛рдП рдЧрдП HelloWorld.css рдФрд░ background.jpg рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦреЗрдВред рдЕрднреА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдмрдЯрди рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред рдЪреМрдерд╛ рдЦрдВрдб рдПрдлрдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ: рдЧреНрд░рд┐рдбрдкреЗрди рдПрдлрдПрдХреНрд╕: рдХрдВрдЯреНрд░реЛрд▓рд░ = "рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдбред рдПрдлрдПрдХреНрд╕рдПрдордПрд▓рдПрдХреНрд╕рдкреНрд▓рд┐рдореЗрдВрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░"ред
FXMLExampleController.java package helloworld; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.text.Text; public class FXMLExampleController { @FXML private Text actiontarget; @FXML protected void handleSubmitButtonAction(ActionEvent event) { actiontarget.setText("Sign in button pressed"); } }
рдФрд░ рд╣рд╛рдВ, рдЗрд╕реЗ рднреА рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред cmdред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рд╕рдВрдХрд▓рди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рдордиреЗ "рдХреБрддреНрддрд╛" рд╣рдЯрд╛ рджрд┐рдпрд╛, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рджреЛрдиреЛрдВ рдиреЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдХрд╛рдо рдХрд┐рдпрд╛:
"C:\Program Files\Java\jdk1.7.0_25\bin\javac" -d out -classpath "C:\Program Files\Java\jre7\lib\jfxrt.jar" src\helloworld\HelloWorld.java "C:\Program Files\Java\jdk1.7.0_40\bin\javac" -d out -classpath "C:\Program Files\Java\jre7\lib\jfxrt.jar" src\helloworld\FXMLExampleController.java @pause
рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред рд╣рдо рдЬрд╛рд░ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдХреНрд▓рд╛рд╕ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рд╣рдо рдЬрд╛рд░ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рд╛ - рдПрдХ рдЕрд▓рдЧ рдореБрдЦреНрдп рд╡рд░реНрдЧ рдЬреЛ рдПрдХ рджреГрд╢реНрдп рдмрдирд╛рддрд╛ рд╣реИ, рдкреНрд░рдкрддреНрд░ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╡рд░рдг, рдПрдХ рдЕрд▓рдЧ рдШрдЯрдирд╛ рд╣реИрдВрдбрд▓рд░, рдФрд░ рдЕрд▓рдЧ рддрддреНрд╡ рд╢реИрд▓рд┐рдпреЛрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯ рдФрд░ рдлреЙрд░реНрдо рдХрд╛ рд╡рд┐рд╡рд░рдг рд╡рд░реНрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд┐рдбрдкреИрди рдЯреЗрдмрд▓ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдЗрдВрдЯрд░рдЪреЗрдВрдЬ рдХрд░рдирд╛ рдпрд╛ рдкреГрд╖реНрдарднреВрдорд┐ рдЫрд╡рд┐ рдХреЛ рдмрджрд▓рдирд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЪрд▓реЛ рдЬрд╛рд░ рд╕рдВрдЧреНрд░рд╣ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рд╡рд╣рд╛рдБ, рд╡реИрд╕реЗ, рдХреЛрдИ HelloWorld.css рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ .bs рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рддреАрд╕рд░реЗ рдЦрдВрдб рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИред Fxml_example.fxml рдореЗрдВ HelloWorld.css рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреНрд▓рд╛рд╕ рдФрд░ рдЬрд╛рд░ рджреЛрдиреЛрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЪрд▓рд┐рдП, рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░, HelloWorld.css рдФрд░ background.jpg рдХреЛ s \ \ _owoworld рд╕реЗ src \ helloworld (рд╣рдо рдЬрдЧрд╣ рдореЗрдВ FXML рдлрд╝рд╛рдЗрд▓ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ) рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред рд╣рдо css рд╕реЗ bss рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рдЬрд╛рд░ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдХреНрд▓рд╛рд╕ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЬрд╛рд░ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ! рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрдпрд╛ рд╣реИ - рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдпрд╛ рдХреБрдЫ рдФрд░, рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ? рдФрд░ рдЪрд▓реЛ, рдЪреВрдВрдХрд┐ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, fxml_example.fxml рдореЗрдВ рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рд╕рд╛рдл рдорд┐рдЯрд╛ рджреЗрдВрдЧреЗ? рдХреЗ рдмрджрд▓реЗ
<stylesheets> <URL value="@HelloWorld.css" /> </stylesheets>
рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ
<stylesheets> <URL value="@HelloWorld" /> </stylesheets>
рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ - рдмрд╕ рдЗрд╕реЗ рдЕрдкрдиреА рдЙрдВрдЧрд▓реА рд╕реЗ рджрд┐рдЦрд╛рдПрдВ рдФрд░ рдлрд┐рд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ред рдЕрдЬреАрдм рдмрд╛рдд рд╣реИ, рд╣реИ рдирд╛?
рдЕрдм рдмрджрдорд╛рд╢реА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореИрджрд╛рди рд╣реИ - рдЖрдк рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢реИрд▓реА рдкрд░рд┐рд╡рд░реНрддрди, рдбрд┐рдЬрд╛рдЗрди, рдШрдЯрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЙрд╕ рд╕рднреА рдХреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕ рд╡рд░реНрдХрдкреАрд╕ рдХреЛ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЫрдареЗ рдЦрдВрдб рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдХрдо рдФрд░ рдирд┐рд░реНрдмрд╛рдз рд╣реИ, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреИрдирд╛рддреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЧрд╛рдЗрдб рд╣реИред рдореИрдВ рдкрд╛рдБрдЪрд╡реЗрдВ рдЦрдВрдб рд╕реЗ рдпрд╛ рддреЛ рдирд┐рдкрдЯрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ, рд╣рдмрд░реЗ рдкрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рд╡рд╛рдПрдлрдПрдХреНрд╕ рдХреЗ рджреГрд╢реНрдп рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдмрд┐рд▓реНрдХреБрд▓ рдкрд╣рд▓реЗ рдЪрд╛рд░ рдЦрдВрдбреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдореИрдВ jfxpub- рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд JavaFX рдореЗрдВ HelloWorld рдереАрдо рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред