JavaFX рдФрд░ рдПрдирд┐рдореЗрд╢рдирдЯрд╛рдЗрдорд░

Countdown рдЬрд╛рд╡рд╛рдПрдлрдПрдХреНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдПрдХ рд▓рдВрдмреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдПрдХ рдЦрд┐рдбрд╝рдХреА рдХреЛ "рдардВрдб" рд╕реЗ рд░реЛрдХрдирд╛ рд╣реИред рдЙрд╕реА рд╕рдордп рдЬрд╛рд╡рд╛рдПрдлрдПрдХреНрд╕ рдореЗрдВ рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рд▓рдВрдмреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ (рдФрд░ / рдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛) рд╣реИред рдЦреИрд░, рдЖрдк рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЧрдгрдирд╛ рдХрд╛ рдПрдХ рд▓рдВрдмрд╛ рдЪрдХреНрд░ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛, рдХрдо рд╕реЗ рдХрдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛ рд░рд╣реА рд╣реИ, рд╢рд╛рдпрдж рдЬреЛ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ JavaFX рдореЗрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
Main.java рдлрд╝рд╛рдЗрд▓
package romeogolf.example1; import java.util.ArrayList; import javafx.animation.AnimationTimer; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.text.Font; import javafx.stage.Stage; public class Main extends Application { //   ArrayList<Label> aLabels = new ArrayList<Label>(); //   final private int digitCount = 5; //   + 1 //   final private int maxCount = 12345; public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("Example"); VBox vbox = new VBox(); vbox.setAlignment(Pos.CENTER); vbox.setSpacing(20); HBox hbox = new HBox(); hbox.setAlignment(Pos.CENTER); hbox.setSpacing(20); for(int i = 0; i <= digitCount; i++){ aLabels.add(new Label("X")); aLabels.get(i).setFont(new Font("Arial", 30)); aLabels.get(i).setStyle("-fx-padding: 5;" + "-fx-border-color: rgb(49, 89, 23);" + "-fx-border-radius: 5;"); hbox.getChildren().add(aLabels.get(i)); } // ,   Button button = new Button("Start"); button.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { longProcess(); } }); vbox.getChildren().add(hbox); vbox.getChildren().add(button); primaryStage.setScene(new Scene(vbox, 55 * (digitCount + 1), 100)); primaryStage.show(); } //    private void longProcess(){ //  } } 



рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рдВрдбреЛ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдЕрднреА рднреА рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд╣рд╛рдВ рдХрд╛рдЙрдВрдЯрд░ рдЪрд░ рдХреА рд╡реГрджреНрдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрддрд╣рд╛рд╢рд╛ рдЬрдЯрд┐рд▓ рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝реВрдВрдЧрд╛ред рд▓реЙрдиреНрдЧрдкреНрд░реЛрд╕реЗрд╕ рд╡рд┐рдзрд┐ рдлрд┐рд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧреА:
  private void longProcess(){ int digit; for(int i = 0; i <= this.maxCount; i++){ for(int j = 0; j <= digitCount; j++){ digit = (int) (i % (Math.pow(10.0, (double)(j + 1)))); digit = (int) (digit / (Math.pow(10.0, (double)j))); this.aLabels.get(digitCount - j).setText(Integer.toString(digit)); } } } 

рдпрд╣рд╛рдБ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ i рдХреЛ рдЕрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдЪрд┐рдд рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдкрд╛рдЧрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рднрд╛ рдХреЗ рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЪрд▓рд╛рдПрдВ рдФрд░ рдПрдХ рдмрдЯрди рджрдмрд╛рдПрдВред рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рдЬрд▓реНрджреА, рд▓рдЧрднрдЧ рддреБрд░рдВрдд рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛:



рдмрд╣реБрдд рдЦреБрд╢ рд╣реИ рдХрд┐ рдЗрддрдиреА рдЬрд▓реНрджреАред рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдирд╣реАрдВ рд╣реИред рд▓рдХреНрд╖реНрдп рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЗрдЦрдирд╛ рдерд╛, рднрд▓реЗ рд╣реА рдзреАрд░реЗ-рдзреАрд░реЗред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд▓реВрдк рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рд░реНрдЧ рдХреЛ рдзреАрдорд╛ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рджреЗрдВ ... рд╕реНрд╡рд┐рдВрдЧ рдореЗрдВ рдХреБрдЫ (рдЬреИрд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐), рдпрд╛ рдХреБрдЫ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ, рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рд╢рд╛рдпрдж рдбреЙрд▓реНрдлрд┐рдХ рдкреНрд░рд╢рдВрд╕рд╛ ред

рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╕реНрд╡рд┐рдВрдЧ рдореЗрдВ, рдЬрдм рдЖрдк рд░рд┐рдбреНрд░рд╛ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рддреБрд░рдВрдд рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛рдПрдлрд╝рдПрдХреНрд╕ рдореЗрдВ, рд░рд┐рдбреНрд░реЙрд╡ рдЕрдиреБрд░реЛрдз рджреГрд╢реНрдп рдЧреНрд░рд╛рдл рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдкрд▓реНрд╕ рдЯрд┐рдХ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреГрд╢реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд▓реНрд╕ рдПрдХ рдШрдЯрдирд╛ рд╣реИ рдЬреЛ рджреГрд╢реНрдп рдЧреНрд░рд╛рдл рдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдпрджрд┐ рдПрдиреАрдореЗрд╢рди рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рджреГрд╢реНрдп рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рдпрд╣ 60 рдПрдлрдкреАрдПрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдЯрд┐рдХрддрд╛ рд╣реИред рдпрд╣ рддрдерд╛рдХрдерд┐рдд рд░рд┐рдЯрд╛рдпрд░реНрдб рдореЛрдб рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдХреНрд╕рд░ "рдПрдмреНрд╕рдЯреНрд░реИрдХреНрд╢рди рдореЛрдб" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рддрддреНрдХрд╛рд▓ рдореЛрдб - рдбрд╛рдпрд░реЗрдХреНрдЯ рдореЛрдб рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдмреНрд╕рдЯреНрд░реИрдХреНрд╢рди рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред

рд░рд┐рдЯреЗрдВрд╕реНрдб рдореЛрдб рдмрдирд╛рдо рдЗрдореАрдбрд┐рдПрдЯ рдореЛрдб рдЖрд▓реЗрдЦ Direct2D рдФрд░ WPF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИред рдореИрдВ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реВрдВрдЧрд╛:
рд░рд┐рдЯрд╛рдпрд░реНрдб рдореЛрдб рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдкреАрдЖрдИ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╣реИ: рдЖрд░рдВрднреАрдХрд░рдг, рд░рдЦрд░рдЦрд╛рд╡, рд╕рдлрд╛рдИред рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рддрд░рдл, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдХреНрд╕рд░ рдХрдо рд▓рдЪреАрд▓рд╛ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдкреАрдЖрдИ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рджреГрд╢реНрдп рдореЙрдбрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд░рд┐рдЯрд╛рдпрд░реНрдб рдореЛрдб рдПрдкреАрдЖрдИ рдиреЗ рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рджреГрд╢реНрдп рдореЙрдбрд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рддрддреНрдХрд╛рд▓ рдореЛрдб рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рд▓рдХреНрд╖рд┐рдд рдЕрдиреБрдХреВрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдХрд░реЗрдВ? рдЖрдЗрдпреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЖрдЬрдорд╛рддреЗ рд╣реИрдВред рд╣рдо рд▓реВрдк рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗ рдХрд╛рдЙрдВрдЯрд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдПрдХ рдХреНрд▓рд╛рд╕ рдлреАрд▓реНрдб рдмрдирд╛рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдИ рд╡рд┐рдзрд┐ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ):
  private int counter = 0; 

рдЖрдЗрдП рдирдИ рд╡рд┐рдзрд┐ рдХреЛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдХрд░реЗрдВ (рдЖрдк рдкреБрд░рд╛рдиреЗ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛)ред рдЪрд▓реЛ рдмрд╛рд╣рд░реА рд▓реВрдк рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ:
  private void longProcess2(){ int digit; //     for(int j = 0; j <= digitCount; j++){ digit = (int) (counter % (Math.pow(10.0, (double)(j + 1)))); digit = (int) (digit / (Math.pow(10.0, (double)j))); this.aLabels.get(digitCount - j).setText(Integer.toString(digit)); } // ******* //  ,  : counter++; // ******* } 

рдореБрдЦреНрдп рд╡рд░реНрдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:
  protected AnimationTimer at = new AnimationTimer(){ @Override public void handle(long now) { longProcess2(); } }; 

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдмрдЯрди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдирд╛
  longProcess(); 

рд░рдЦрдирд╛
  at.start(); 

рдФрд░ рдПрдХ рд╕рдордп рдкрд░ рд░реЛрдХ рдХреЗ рд▓рд┐рдП, рд╣рдо longProcess2 () рд╡рд┐рдзрд┐ рдХреЛ рдЦреБрдж рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдРрд╕реА рд▓рд╛рдЗрдиреЗрдВ (рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ):
  if(counter > maxCount){ at.stop(); return; } 

рдЕрдм рдЗрд╕ рд╕рдм рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереАред рдкрд░рд┐рдгрд╛рдо рдПрдирд┐рдореЗрд╢рдирдЯрд╛рдЗрдорд░ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рд╣рд░ рдмрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдВрдбреЛ рдХреЛ рд░рд┐рдбреНрд░реЙрд░реНрди рдХрд░рдиреЗ рдкрд░ рдЗрд╕рдХрд╛ рд╣реИрдВрдбрд▓ () рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, longProcess2 () рдХреЙрд▓ рдХрд░рдХреЗ, рд╣рдордиреЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдкрд░рд┐рдЪрд┐рддрддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ред рджреГрд╢реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣реИрдВрдбрд▓ () рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реЗ longProcess2 () рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ at.stop () рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдк рдХрдВрдбреАрд╢рди longProcess2 () рдореЗрдердб рдореЗрдВ рд╣реА рдЙрдарддреА рд╣реИред

рдЕрдм, рдЬрдм рдЖрдк "рд╡рд┐рдВрдбреЛ" рдореЗрдВ рдПрдХ рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдЦреНрдпрд╛ рдлреНрд▓реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧреАред рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рдХреА рдХреАрдордд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдЧрддрд┐ рдкрд░ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯред



рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдЬрд┐рдЯрд╛рдЙрдВрдЯ рдХреЛ 7 рддрдХ рдмрдврд╝рд╛рдПрдВ, рдФрд░ рдЕрдзрд┐рдХрддрдо 98765432 рддрдХ, рдЯрд╛рдЗрдорд░ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдХрд╛рдлреА рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЖрдкрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛрдиреЗ рддрдХ рдкрд░рд┐рдЪрд┐рддреЛрдВ рдореЗрдВ рдХреНрд░реЙрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рдЦрд┐рдбрд╝рдХреА рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ "рдХреНрд░реЙрд╕") рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЦрд┐рдбрд╝рдХреА рдХреЛ рд╢реАрд░реНрд╖рдХ рд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдордп рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдлреИрд▓реА рд╣реБрдИ рд╣реИред рдпрд╣рд╛рдВ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрдзрд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЧрддрд┐ рдпрд╛ рдкреНрд░рджрд░реНрд╢рдиред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЫреЛрдбрд╝ рдХрд░ рдЧрддрд┐ рдХреЛ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╣рдо рдЫреЛрдбрд╝реЗрдВрдЧреЗ, рдЙрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рд╣рдо рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдХрдо рджреЗрдЦреЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк longProcess2 () рдореЗрдВ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ, рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  counter++; 

рдХреБрдЫ рдРрд╕рд╛
  for(int skip = 0; skip < 100000; skip++){ if(counter >= maxCount){ break; } counter++; } 

рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реМ рд╣рдЬрд╝рд╛рд░рд╡реЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╕реНрдЯреЙрдк рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдЕрдВрдд рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдЪ рд╣реИ, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдирд┐рдЪрд▓реЗ рдЕрдВрдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╢реВрдиреНрдп рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдзреБрдВрдзрд▓рд╛ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпреЗ рд╕реАрдЯреА рдХреЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд╡рд┐рд╡рд░рдг рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рдЯрд╛рдЗрдорд░ рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдИ рднреА рд╢реВрдиреНрдп рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдЯрд╛рдЗрдорд░ рдХреА рдЕрд╕рдорд╛рдирддрд╛ рддрдм рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдЬрдм рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдФрд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ!) рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рд╕реАрдЯреА, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдУрд╡рд░рдХрд┐рд▓ рд╣реИред

рдПрдирд┐рдореЗрд╢рдирдЯрд╛рдЗрдорд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛: рдХрд┐рд╕реА рдиреЗ рдорд╛рдЗрдХ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдореЗрдВ JavaFX рдПрдирд┐рдореЗрд╢рдирдЯреАрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдерд╛ред

рдорд╛рдЗрдХ рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдЗрд╕ рддрд░рд╣ рдмреБрд▓рд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рдерд╛ред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ рдПрдиреАрдореЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдПрдлрдкреАрдПрд╕-рджрд░ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП, рдЯрдХрд░рд╛рд╡ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рдЪрд░рдгреЛрдВ рдХреА рдЧрд┐рдирддреА рдХреЗ рд▓рд┐рдП, рдЦреЗрд▓ рдореЗрдВ рдореБрдЦреНрдп рд▓реВрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрджрд┐ред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рд╡рд╣ рдЕрдХреНрд╕рд░ рдПрдирд┐рдореЗрд╢рдирдЯреАрдорд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рдЬреЛ рдПрдиреАрдореЗрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред ред рдПрдирд┐рдореЗрд╢рдирдЯрд╛рдЗрдорд░ рдПрдХ рдмреЗрд╣рдж рд╕рд░рд▓, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд▓рдЪреАрд▓рд╛ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИред рдЯрд╛рдЗрдорд░ рдЖрдкрдХреЛ рдЙрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╡рд┐рдзрд┐ рдХреНрдпрд╛ рдХрд░реЗрдЧреА рди рдХреЗрд╡рд▓ рдЕрд╕реАрдорд┐рдд, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдиреАрдореЗрд╢рди рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рддреЗрдЬ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрд╕ рдПрдХ рдЕрдбрд╝рдЪрди рдмрди рдЬрд╛рдПрдЧреАред

рдмреЗрд╢рдХ, рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдЯрд╛рдЗрдорд░ рдкрд╕рдВрдж рдЖрдпрд╛ - рд╕рд░рд▓ рдФрд░ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХред рдЬреЛ рдЙрд╕рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рдерд╛ - рдХреГрдкрдпрд╛ рдкреНрдпрд╛рд░ рдФрд░ рдЕрдиреБрдЧреНрд░рд╣ рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In217269/


All Articles