【Main.java】
package application;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class Main extends Application {
@Override public void start(Stage primaryStage) { try { AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("Form1.fxml")); Scene scene = new Scene(root,600,179); scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); }
}
【Form1Controller.java】
package application;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
public class Form1Controller {
public String val; @FXML private ResourceBundle resources; @FXML private URL location; @FXML private TextField text; @FXML private Button okbt; @FXML void okclick(ActionEvent event) { /* * 現在表示されている画面を閉じる */ /*Scene s = ((Node)event.getSource()).getScene(); Window window = s.getWindow(); window.hide();*/ val = text.getText(); try { Parent parent = FXMLLoader.load(getClass().getResource("Form2.fxml")); Scene scene = new Scene(parent); Stage stage = new Stage(); stage.setScene(scene); stage.show(); }catch(IOException e) { e.printStackTrace(); } } @FXML void initialize() { assert text != null : "fx:id=\"text\" was not injected: check your FXML file 'Form1.fxml'."; assert okbt != null : "fx:id=\"okbt\" was not injected: check your FXML file 'Form1.fxml'."; }
}
【Form2Controller.java】
package application;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.scene.control.TextField;
public class Form2Controller {
Form1Controller frm1; @FXML private ResourceBundle resources; @FXML private URL location; @FXML public TextField text2; @FXML void initialize() { assert text2 != null : "fx:id=\"text2\" was not injected: check your FXML file 'Form2.fxml'."; text2.setText(frm1.val); }
}

回答1件
あなたの回答
tips
プレビュー