Bonjour à tous,
Je débute dans la programmation java. Pour le moment je fais de la programmation objet sur Netbeans, sans interface graphique.
J'ai appris en parallèle à créer des fenêtres et des boutons avec Swing.
Voici ma question: je souhaite dans le cadre de mon projet (un jeu non graphique), insérer une ou deux fenêtres d'alerte ou d'informations, à certaines étapes du jeu.
J'ai construis mon objet JFrame, en la testant elle fonctionne. Mais maintenant comment la faire interagir avec le programme??
C'est une simple fenêtre qui informe que le jeu va débuter, le joueur doit cliquer sur un bouton "Commencer".
voici mon code:
Le code de la fenêtre(pas terminée)
Le code de mon Action
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public class windowBeginGame extends JFrame{ public windowBeginGame(){ super(); build(); } public void build(){ setSize(300, 200); setTitle("Et c'est parti!"); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); } public JPanel content(){ JPanel panel=new JPanel(); setLayout(new FlowLayout()); JLabel label=new JLabel("La partie de Sushibar commence." + "Cliquez sur Commencer!"); panel.add(label); JButton button=new JButton(new ActionBegin("Commencer!")); panel.add(button); return panel; } /* public static void main(String[] args) { windowBeginGame display=new windowBeginGame(); display.setVisible(true); } */ }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 package g42015.sushibar.view; import g42015.sushibar.model.Game; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; /** * * @author Administrator */ public class ActionBegin extends AbstractAction { private Game game; public ActionBegin(String text){ super(text); } @Override public void actionPerformed(ActionEvent e) { Display.displayBegin(game); } }
Le code de ma classe Main:
Merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 package g42015.sushibar.control; import g42015.sushibar.model.Game; import static g42015.sushibar.view.Display.*; import java.util.Scanner; import javax.swing.*; /** * This class creats the game dynamics. * */ public class Sushibar{ public static void main(String[] args) { //on demande le nombre de joueur et on crée la partie Scanner clavier = new Scanner(System.in); System.out.println("BIENVENUE AU SUSHIBAR"); System.out.println("======================"); System.out.println(""); System.out.println("Initialisation du Jeu."); System.out.println("----------------------"); System.out.print("Entrez le nombre de joueur:"); int nbPlayers = clavier.nextInt(); Game game = new Game(nbPlayers); displayBegin(game); ; System.out.println(""); System.out.println("La partie commence!"); System.out.println("--------------------"); System.out.println(""); //Tant que la partie n'est pas terminée faire: while (!game.isOver()) { //on lance les dés System.out.println("Lançons les dés:"); System.out.println("-----------------"); game.getDiceBucket().roll(); displayDiceBucket(game); boolean again = true; //tant que il reste au moins un lancer au joueur et quil veut en profiter faire while (game.getRemainingRolls() > 0 && again) { displayDiceAside(game); displayAgainAside(); if (displayAgainAside() == false) { again = false; } } displayAskAction(game); System.out.println(""); System.out.println("Le joueur suivant peut jouer"); System.out.println("-----------------------------"); displayNextPlayer(game); } displayScore(game); // } } }
Partager