前提・実現したいこと
Java Swingで、問題を出すアプリケーション(画面遷移の練習用)を作成しているんですけれど、画面を消去することができないので困ってます。
回答してほしいこと
- どのコードを入れれば、画面が消去されてまっさらな状態にできるんですか?
- そのコードはどのような意味(役割)を持っているか解説してほしいです。
該当のソースコード
java
1import java.awt.FlowLayout; 2 3import javax.swing.JButton; 4import javax.swing.JFrame; 5public class Frame { 6 7 public static void main(String[] args) { 8 JFrame JF = new JFrame("testタイトル"); 9 JF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 10 JF.setSize(700, 800);// サイズ 11 JF.setLayout(new FlowLayout()); 12 JButton JB1 = new JButton("問題解説"); 13 JButton JB2 = new JButton("問題追加"); 14 JButton JB3 = new JButton("問題出題"); 15 JF.add(JB1); 16 JF.add(JB2); 17 JF.add(JB3); 18 JB1.addActionListener( e -> { 19 JF.removeAll(); 20 }); 21 22 JB2.addActionListener( e -> { 23 }); 24 JF.setVisible(true); 25 26 } 27} 28
###わからないところのオブジェクト(ここで画面の消去をしています)
java
1 2 JB1.addActionListener( e -> { 3 JF.removeAll(); 4 });
補足情報(FW/ツールのバージョンなど)
java version 12 build 12+33
windows 10
どのオブジェクトのことでしょう.
JButton1の処理のところです。ご指摘ありがとうございます
問題解読ボタンを押したら, そのボタンを含め全てのボタンが消えるということですか.
どのような意味があるのでしょう. 画面遷移の練習でしょうか.
画面遷移の練習ですね。ご指摘してくださり、ありがとうございます。
画面遷移であれば, ngsvx さんの言われるように別途パネルを作ってその上にボタン等を配置し, そのようなパネルを複数作って, それらを表示(非表示)にすることで切り替えるのが基本です.
その切り替えも, 例えば自由に各パネル間を移動できるようにするのであれば JTabbedPane を利用できますし, ページをめくるようなイメージであれば CardLayout を利用する等, 個々にパネルの表示/非表示を切り替えなくても済むものがありますので, それらの利用を検討されては如何でしょうか.
確かにそうすればできますね…ありがとうございます!
回答1件
あなたの回答
tips
プレビュー