前提・実現したいこと
[前提]
趣味でプログラムを触ったことがある程度の初心者です。
今回、会社で初めてJavaを用いたPCソフトを作ることになりました。
質問内容はあまりに根本的な内容になるかとは思いますが、
参考本やHPに書かれている内容ではなかなか理解できず困っています。
是非、ご教授いただきたく思います。
[実現したいこと]
にて、別画面遷移についてご助力いただき、自作していたソフトへの画面遷移には成功しました。
今回の質問はその後についての内容となります。
[開発環境]
NetBeansを使っています。
GUI(エディター…というのでしょうか…マウスで画面を作るタイプです)を使っています。
[OS]
windows10Proにて開発しています。
使用するPCはwindows7以上を想定しています。
### 発生している問題・メッセージ
今回の別画面遷移をするにあたり、実現させたいのは"別の画面との往復"と"データの受け渡し"です。
今回の質問にあたり、Sample1とSample2という二つのjavaファイルを用意しました。
Sample1はJFrame継承で最初に起動し、上にJPanelとjButtonのみを配置、
Sample2はJPanel継承で上にJPanelとjButtonのみを配置してあります。
(正直なところJFrameとJPanelの違いがうまく理解できておりません。そもそもこれでいいのでしょうか。)
画面遷移について
Sample1→Sample2間の遷移は上手く言っているようですが、
Sample2→Sample1へと遷移しようとするとエラーが発生してしまいます。
●エラーメッセージ
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: adding a window to a container
データ受け渡しについて
HPなどを拝見しますと、データ保存用クラスを作る(?)といった記述が見受けられましたが、イメージが湧きませんでした。
渡すデータはかなり少量の物なので、簡単に実装できる物がいいなと思います。
●ソースコード(Buttonのクリック時の処理のみ記述します。それ以外は生成時のまま触っていません。)
Java(Sample1側)
1 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 2 remove(jPanel1); 3 Sample2 panel = new Sample2(); 4 panel.setSize(400,300); 5 add(panel); 6 repaint(); 7 validate(); 8 }
Java(Sample2側)
1 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 2 remove(jPanel1); 3 Sample1 panel = new Sample1(); 4 panel.setSize(400,300); 5 add(panel); 6 repaint(); 7 validate(); 8 }
まとめますと質問は下記3点です。
1.今回のケースではSample2をJPanel継承としているが、JFrameとJPanelの違いはあるのか。JPanel継承で正解なのか。
2.Sample2→Sample1への画面遷移はどうやって実装するのか。
3.Sample1→Sample2、Sample2→Sample1問わず、データの受け渡しをするにはどうしたらよいのか。
初歩的な質問が続きますが、是非よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。