質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

Q&A

0回答

1698閲覧

javafxで画面間のデータ受け渡し

kun-

総合スコア0

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

0グッド

0クリップ

投稿2020/06/17 07:43

前提・実現したいこと

javafxでレジ業務システムを作成していますが、画面間のデータ受け渡しを行いたいです。

1.ログイン画面でIDとパスワードを入力
2.データベースに問合せし認証できた場合、レジ画面に遷移。
3.レジ画面に現在ログインしている人の名前を表示させたい。

2.の段階でデータベースから名前は取得できるのですが、その情報をレジ画面に受け渡しする方法が分かりません。

ファイル
・main.java
・controller_register.java
・controller_rogin.java
・rogin.fxml(ログイン画面)
・register.fxml(レジ画面)

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

※import文は省略しています。

□main.java
public class register_main extends Application {

@Override public void start(Stage stage) throws Exception { stage.setTitle("販売業務"); Parent root = FXMLLoader.load(getClass().getResource("rogin.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } //mainメソッド public static void main(String[] args) { Application.launch(args); }

}

□controller_register.java
public class Controller_register implements Initializable {
@FXML
public Label RoginNameId;

//初期化 @Override public void initialize(URL location, ResourceBundle resources) { }

}

□controller_rogin.java
public class Controller_rogin implements Initializable {
@FXML
private Label remarkId;

@FXML private Button roginId; @FXML private TextField employeeId; @FXML private PasswordField passwordId; @Override public void initialize(URL location, ResourceBundle resources) { } //ログインボタン @FXML public void ButtonRogin(ActionEvent event) throws IOException { UserCheck a = new UserCheck(); UserCheck roginInfo = a.authorityCheck("REGISTER", employeeId.getText(), passwordId.getText());//UseCheck型で認証情報と名前を受け渡し。 if(roginInfo.certification[0] == true && roginInfo.certification[1] == true) { //ログイン画面を閉じる Scene s = ((Node)event.getSource()).getScene(); Window window = s.getWindow(); window.hide(); //レジ画面の生成。 Parent root = FXMLLoader.load(getClass().getResource("register.fxml")); Scene scene = new Scene(root); Stage stage = new Stage(); stage.setScene(scene); stage.setTitle("販売業務"); stage.show(); } else if(roginInfo.certification[0] == true && roginInfo.certification[1] == false) { remarkId.setText("販売業務の権限がありません。"); } else { remarkId.setText("従業員IDとパスワードが間違っています。"); } }

}

試したこと

Controller_roginにsetter,getterを付けましたが、Controller_registerで参照しようとするとnullが返された。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問