Insérer une interface graphique dans le programme
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)
Code:
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);
}
*/
} |
Le code de mon Action
Code:
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:
Code:
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);
// }
}
} |
Merci !