Очередность запуска методов - Java
Формулировка задачи:
Добрый день. Столкнулся с такой проблемой. Помимо метода run, в программе есть еще 2 метода(openFile() i readFile()). По задумке, эти методы должны задавать начальное значение строке str, а уже затем на базе этой строки должен создаватся JavaFx Text который выводится на AnchorPane. Но почему-то на момент создание JavaFx Text значение строки все ещё не задано. Вроде как в главном методе main() сначала стоять методы openFile() i readFile() (чтобы задать значение строке), а уже потом стоит launch(args). Подскажите пожалуйста что я не так делаю. Спасибо.
Листинг программы
- package application;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.util.Random;
- import java.util.Scanner;
- import javafx.application.Application;
- import javafx.geometry.Pos;
- import javafx.stage.Stage;
- import javafx.scene.Group;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.image.Image;
- import javafx.scene.layout.AnchorPane;
- import javafx.scene.layout.BorderPane;
- import javafx.scene.layout.StackPane;
- import javafx.scene.paint.Color;
- import javafx.scene.paint.ImagePattern;
- import javafx.scene.shape.Circle;
- import javafx.scene.shape.Ellipse;
- import javafx.scene.shape.Rectangle;
- import javafx.scene.shape.StrokeType;
- import javafx.scene.text.Text;
- public class Main extends Application {
- Scanner s;
- String str;
- @Override
- public void start(Stage primaryStage) {
- AnchorPane root = new AnchorPane();
- Scene scene = new Scene(root,500,500);
- Text t=new Text(str);
- t.setLayoutX(65);
- t.setLayoutY(50);
- t.setStyle("-fx-font: bold italic 20pt Arial;");
- //root.setStyle("-fx-background-color:#808080;");
- root.getChildren().add(t);
- primaryStage.setTitle("BUBBLE SPLASH");
- primaryStage.setScene(scene);
- primaryStage.show();
- }
- private void openFile(){
- try {
- s=new Scanner(new File("txt/1.txt"));
- } catch (Exception e) {}
- }
- private void readFile(){
- while(s.hasNext()){
- str=s.next();
- }
- }
- public static void main(String[] args) {
- Main m=new Main();
- m.openFile();
- m.readFile();
- launch(args);
- }
- }
Решение задачи: «Очередность запуска методов»
textual
Листинг программы
- import java.io.File;
- import java.util.Scanner;
- import javafx.application.Application;
- import javafx.stage.Stage;
- import javafx.scene.Scene;
- import javafx.scene.layout.AnchorPane;
- import javafx.scene.text.Text;
- public class Main extends Application {
- Scanner s;
- String str;
- @Override
- public void start(Stage primaryStage) {
- openFile();
- readFile();
- AnchorPane root = new AnchorPane();
- Scene scene = new Scene(root, 500, 500);
- Text t = new Text(str);
- t.setLayoutX(65);
- t.setLayoutY(50);
- t.setStyle("-fx-font: bold italic 20pt Arial;");
- //root.setStyle("-fx-background-color:#808080;");
- root.getChildren().add(t);
- primaryStage.setTitle("BUBBLE SPLASH");
- primaryStage.setScene(scene);
- primaryStage.show();
- }
- private void openFile() {
- try {
- s = new Scanner(new File("txt/1.txt"));
- System.out.println(s);
- } catch (Exception e) {
- }
- }
- private void readFile() {
- while (s.hasNext()) {
- str = s.next();
- }
- }
- public static void main(String[] args) {
- launch(args);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д