質問編集履歴
2
手元のコードを入力しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,6 +12,88 @@
|
|
12
12
|
ゲーム画面に画面遷移したいです。
|
13
13
|
その時ゲーム画面にはボタンを非表示に指定したいと思っています。
|
14
14
|
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
手元のコード
|
20
|
+
|
21
|
+
import javax.swing.*;
|
22
|
+
import java.awt.CardLayout;
|
23
|
+
import java.awt.BorderLayout;
|
24
|
+
import java.awt.event.*;
|
25
|
+
|
26
|
+
public class CardLayoutTest3 extends JFrame implements ActionListener{
|
27
|
+
|
28
|
+
JPanel cardPanel;
|
29
|
+
CardLayout layout;
|
30
|
+
|
31
|
+
public static void main(String[] args){
|
32
|
+
CardLayoutTest3 frame = new CardLayoutTest3();
|
33
|
+
|
34
|
+
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
35
|
+
frame.setBounds(10, 10, 300, 200);
|
36
|
+
frame.setTitle("タイトル");
|
37
|
+
frame.setVisible(true);
|
38
|
+
}
|
39
|
+
|
40
|
+
CardLayoutTest3(){
|
41
|
+
/* カード1 */
|
42
|
+
JPanel card1 = new JPanel();
|
43
|
+
card1.add(new JButton("button"));
|
44
|
+
|
45
|
+
/* カード2 */
|
46
|
+
JPanel card2 = new JPanel();
|
47
|
+
card2.add(new JLabel("label"));
|
48
|
+
card2.add(new JTextField("", 10));
|
49
|
+
|
50
|
+
/* カード3 */
|
51
|
+
JPanel card3 = new JPanel();
|
52
|
+
card3.add(new JCheckBox("checkbox1"));
|
53
|
+
card3.add(new JCheckBox("checkbox2"));
|
54
|
+
|
55
|
+
cardPanel = new JPanel();
|
56
|
+
layout = new CardLayout();
|
57
|
+
cardPanel.setLayout(layout);
|
58
|
+
|
59
|
+
cardPanel.add(card1, "button");
|
60
|
+
cardPanel.add(card2, "label");
|
61
|
+
cardPanel.add(card3, "checkbox");
|
62
|
+
|
63
|
+
/* カード移動用ボタン */
|
64
|
+
JButton button1 = new JButton("button");
|
65
|
+
button1.addActionListener(this);
|
66
|
+
button1.setActionCommand("button");
|
67
|
+
|
68
|
+
JButton button2 = new JButton("label");
|
69
|
+
button2.addActionListener(this);
|
70
|
+
button2.setActionCommand("label");
|
71
|
+
|
72
|
+
JButton button3 = new JButton("checkbox");
|
73
|
+
button3.addActionListener(this);
|
74
|
+
button3.setActionCommand("checkbox");
|
75
|
+
|
76
|
+
JPanel btnPanel = new JPanel();
|
77
|
+
btnPanel.add(button1);
|
78
|
+
btnPanel.add(button2);
|
79
|
+
btnPanel.add(button3);
|
80
|
+
|
81
|
+
getContentPane().add(cardPanel, BorderLayout.CENTER);
|
82
|
+
getContentPane().add(btnPanel, BorderLayout.PAGE_END);
|
83
|
+
}
|
84
|
+
|
85
|
+
public void actionPerformed(ActionEvent e){
|
86
|
+
String cmd = e.getActionCommand();
|
87
|
+
|
88
|
+
layout.show(cardPanel, cmd);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
15
97
|
↓ちなみにソースコードはこのサイトを参考にしています
|
16
98
|
https://www.javadrive.jp/tutorial/cardlayout/index3.html
|
17
99
|
|
1
URLが間違っていたので変更したのと、「可能か」という文章を変えました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,8 +4,7 @@
|
|
4
4
|
javaでマリオのようなゲームを作成しようとしています。
|
5
5
|
そこでステージ選択画面をcard layoutで作りたいのですが、
|
6
6
|
画像の下のボタン、[button][label][checkbox]のいずれかを押したときに、
|
7
|
-
押したボタン以外のボタンを非表示にしたい
|
7
|
+
押したボタン以外のボタンを非表示にしたいです。
|
8
|
-
それは可能ですか?
|
9
8
|
|
10
9
|
自分のやりたいイメージとしては、
|
11
10
|
画像の[button][label][checkbox]ボタンを選ぶステージに見立てて、
|
@@ -14,9 +13,8 @@
|
|
14
13
|
その時ゲーム画面にはボタンを非表示に指定したいと思っています。
|
15
14
|
|
16
15
|
↓ちなみにソースコードはこのサイトを参考にしています
|
17
|
-
https://www.javadrive.jp/tutorial/cardlayout/
|
16
|
+
https://www.javadrive.jp/tutorial/cardlayout/index3.html
|
18
17
|
|
19
|
-
|
20
18
|

|
21
19
|
|
22
20
|

|