はじめまして。
javaについて質問です。
javaでマリオのようなゲームを作成しようとしています。
そこでステージ選択画面をcard layoutで作りたいのですが、
画像の下のボタン、[button][label][checkbox]のいずれかを押したときに、
押したボタン以外のボタンを非表示にしたいです。
自分のやりたいイメージとしては、
画像の[button][label][checkbox]ボタンを選ぶステージに見立てて、
各ステージを選んだ時に、
ゲーム画面に画面遷移したいです。
その時ゲーム画面にはボタンを非表示に指定したいと思っています。
手元のコード
import javax.swing.;
import java.awt.CardLayout;
import java.awt.BorderLayout;
import java.awt.event.;
public class CardLayoutTest3 extends JFrame implements ActionListener{
JPanel cardPanel;
CardLayout layout;
public static void main(String[] args){
CardLayoutTest3 frame = new CardLayoutTest3();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true);
}
CardLayoutTest3(){
/* カード1 */
JPanel card1 = new JPanel();
card1.add(new JButton("button"));
/* カード2 */ JPanel card2 = new JPanel(); card2.add(new JLabel("label")); card2.add(new JTextField("", 10)); /* カード3 */ JPanel card3 = new JPanel(); card3.add(new JCheckBox("checkbox1")); card3.add(new JCheckBox("checkbox2")); cardPanel = new JPanel(); layout = new CardLayout(); cardPanel.setLayout(layout); cardPanel.add(card1, "button"); cardPanel.add(card2, "label"); cardPanel.add(card3, "checkbox"); /* カード移動用ボタン */ JButton button1 = new JButton("button"); button1.addActionListener(this); button1.setActionCommand("button"); JButton button2 = new JButton("label"); button2.addActionListener(this); button2.setActionCommand("label"); JButton button3 = new JButton("checkbox"); button3.addActionListener(this); button3.setActionCommand("checkbox"); JPanel btnPanel = new JPanel(); btnPanel.add(button1); btnPanel.add(button2); btnPanel.add(button3); getContentPane().add(cardPanel, BorderLayout.CENTER); getContentPane().add(btnPanel, BorderLayout.PAGE_END);
}
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
layout.show(cardPanel, cmd);
}
}
↓ちなみにソースコードはこのサイトを参考にしています
https://www.javadrive.jp/tutorial/cardlayout/index3.html
あなたの回答
tips
プレビュー