Очередность запуска методов - Java

Узнай цену своей работы

Формулировка задачи:

Добрый день. Столкнулся с такой проблемой. Помимо метода run, в программе есть еще 2 метода(openFile() i readFile()). По задумке, эти методы должны задавать начальное значение строке str, а уже затем на базе этой строки должен создаватся JavaFx Text который выводится на AnchorPane. Но почему-то на момент создание JavaFx Text значение строки все ещё не задано. Вроде как в главном методе main() сначала стоять методы openFile() i readFile() (чтобы задать значение строке), а уже потом стоит launch(args). Подскажите пожалуйста что я не так делаю. Спасибо.
Листинг программы
  1. package application;
  2. import java.io.File;
  3. import java.io.FileNotFoundException;
  4. import java.util.Random;
  5. import java.util.Scanner;
  6. import javafx.application.Application;
  7. import javafx.geometry.Pos;
  8. import javafx.stage.Stage;
  9. import javafx.scene.Group;
  10. import javafx.scene.Scene;
  11. import javafx.scene.control.Button;
  12. import javafx.scene.image.Image;
  13. import javafx.scene.layout.AnchorPane;
  14. import javafx.scene.layout.BorderPane;
  15. import javafx.scene.layout.StackPane;
  16. import javafx.scene.paint.Color;
  17. import javafx.scene.paint.ImagePattern;
  18. import javafx.scene.shape.Circle;
  19. import javafx.scene.shape.Ellipse;
  20. import javafx.scene.shape.Rectangle;
  21. import javafx.scene.shape.StrokeType;
  22. import javafx.scene.text.Text;
  23. public class Main extends Application {
  24. Scanner s;
  25. String str;
  26. @Override
  27. public void start(Stage primaryStage) {
  28. AnchorPane root = new AnchorPane();
  29. Scene scene = new Scene(root,500,500);
  30. Text t=new Text(str);
  31. t.setLayoutX(65);
  32. t.setLayoutY(50);
  33. t.setStyle("-fx-font: bold italic 20pt Arial;");
  34. //root.setStyle("-fx-background-color:#808080;");
  35. root.getChildren().add(t);
  36. primaryStage.setTitle("BUBBLE SPLASH");
  37. primaryStage.setScene(scene);
  38. primaryStage.show();
  39. }
  40. private void openFile(){
  41. try {
  42. s=new Scanner(new File("txt/1.txt"));
  43. } catch (Exception e) {}
  44. }
  45. private void readFile(){
  46. while(s.hasNext()){
  47. str=s.next();
  48. }
  49. }
  50. public static void main(String[] args) {
  51. Main m=new Main();
  52. m.openFile();
  53. m.readFile();
  54. launch(args);
  55. }
  56. }

Решение задачи: «Очередность запуска методов»

textual
Листинг программы
  1. import java.io.File;
  2. import java.util.Scanner;
  3.  
  4. import javafx.application.Application;
  5. import javafx.stage.Stage;
  6. import javafx.scene.Scene;
  7. import javafx.scene.layout.AnchorPane;
  8. import javafx.scene.text.Text;
  9.  
  10. public class Main extends Application {
  11.  
  12.     Scanner s;
  13.     String str;
  14.  
  15.     @Override
  16.     public void start(Stage primaryStage) {
  17.         openFile();
  18.         readFile();
  19.         AnchorPane root = new AnchorPane();
  20.         Scene scene = new Scene(root, 500, 500);
  21.  
  22.         Text t = new Text(str);
  23.         t.setLayoutX(65);
  24.         t.setLayoutY(50);
  25.         t.setStyle("-fx-font: bold italic 20pt Arial;");
  26.  
  27.         //root.setStyle("-fx-background-color:#808080;");
  28.         root.getChildren().add(t);
  29.  
  30.         primaryStage.setTitle("BUBBLE SPLASH");
  31.         primaryStage.setScene(scene);
  32.         primaryStage.show();
  33.     }
  34.  
  35.     private void openFile() {
  36.         try {
  37.             s = new Scanner(new File("txt/1.txt"));
  38.             System.out.println(s);
  39.         } catch (Exception e) {
  40.         }
  41.     }
  42.  
  43.     private void readFile() {
  44.  
  45.         while (s.hasNext()) {
  46.             str = s.next();
  47.         }
  48.     }
  49.  
  50.     public static void main(String[] args) {
  51.         launch(args);
  52.     }
  53. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут