The Grid ne fait rien de spécial à ce stade, mais avec un peu de recherche, vous pouvez ajouter des écouteurs d'action et un peu de logique pour créer un simple jeu en 2D tel que tic-tac-toe, ou plus compliqué comme Battleship.
Remarque: cet article utilise Eclipse[1] pour tous les exemples, les choses peuvent être différentes selon votre IDE. Cela devrait être très similaire à ce dont vous avez besoin dans JCreator, mais il est plutôt inutile pour un IDE basé sur une interface graphique comme NetBeans[2] Cependant, principalement en raison de la méthode de glisser-déposer de NetBeans.
Pas
-
1 Créez un projet Java. C'est plutôt simple. Allumez votre IDE et créez un nouveau projet. Appelez ça comme vous voulez. L'exemple sera buttongrid.
- Ce nom n'a pas vraiment d'importance puisque c'est le nom du fichier qui lui sera attribué.
-
2 Créez une classe Java avec une méthode principale. Créez une nouvelle classe et nommez-la comme vous voulez. L'exemple sera buttongrid. Pour un utilisateur Eclipse, vous voudrez bien taper la boîte appelée public static void main (string [] args), vous n'aurez donc pas à la taper au démarrage.
- Ce nom est plus important que le précédent car il devra être en un seul mot sinon il ne sera pas utilisable.
-
3 Importer des bibliothèques. Cela apporte toutes les informations dont vous aurez besoin pour écrire votre code dans ce code. Vous devez importer javax.swing.JFrame, javax.swing.JButton et java.awt.Gridlayout. Celles-ci sont mises avant le début de la classe, quelque part entre 1 et 3, l'ordre dans lequel elles se trouvent n'a pas d'importance.
-
4 Créer un constructeur Le constructeur crée une nouvelle instance de la classe buttongrid permettant à de nombreuses grilles de boutons différentes d'avoir des informations distinctes. Tous les constructeurs doivent être nommés de la même manière que leur classe. Les constructeurs n'ont besoin de rien avant, mais le terme «public» est souvent utilisé pour faciliter la consultation. Les constructeurs sont souvent placés en tant que première méthode dans une classe, elle va donc juste après le nom de la classe, mais elle doit cependant être placée dans la classe. Le constructeur buttongrid a besoin de paramètres, qui sont mis entre parenthèses après le nom du constructeur. Les paramètres dans cet exemple sont les entiers «x» et «y».
-
5 Créer cadre:
- Le cadre doit être nommé. Pour vous assurer qu'il peut être référencé en dehors de la méthode constructeur ButtonGrid, vous le placez à l'extérieur de cette méthode, mais dans la classe. La plupart des variables sont nommées en haut de la classe juste avant le constructeur. Pour créer un nouveau cadre, vous tapez: JFrame frame = new JFrame ();
- Dans la méthode constructeur, nous devons nous assurer que tous les boutons sont placés dans la disposition de la grille. Pour ce faire, nous définissons la disposition du cadre en tapant: frame.setLayout (new GridLayout (x, y));
- Pas nécessairement obligatoire, mais pour que le cadre se ferme lorsque vous appuyez sur le bouton "x" dans le coin supérieur droit, vous devez ajouter la ligne: frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
- Pour que la taille du cadre soit correcte, nous devons donc exécuter la commande pack: frame.pack ();
- Enfin, pour le cadre, nous devons le rendre visible: frame.setVisible (true);
-
6 Créer une grille de boutons:
- Les boutons avec lesquels l'utilisateur interagit doivent être créés, mais comme nous ne savons pas combien nous en avons besoin, ils doivent être nommés en premier. Donc, juste en dessous de la ligne où vous créez le cadre, créez les boutons: JButton [] [] grid; Les deux ensembles de crochets sont là pour dire que les JButton de la grille sont conservés dans un format à deux dimensions, s'il n'y avait qu'un ensemble de crochets, il s'agirait simplement d'une ligne de JButton, qui fonctionne toujours, c'est juste plus facile de faire référence à quel bouton est créé ou avec lequel il est en interaction lorsqu'il est bidimensionnel.
- Les JButton ont été nommés, mais nous devons encore dire combien de boutons il y a. Vous devez ajouter une ligne de code dans le constructeur qui définit la quantité: grid = new JButton [width] [length];
- Maintenant qu'il a été déterminé qu'il y aura un certain nombre de boutons, chacun doit être créé. La méthode la plus simple consiste à utiliser deux boucles, l’une pour l’axe des x et l’autre pour l’axe des y. A l'intérieur des deux boucles, nous créons un nouveau bouton et, pour faciliter la consultation, l'exemple place le texte à l'intérieur de chaque bouton. Nous savons donc où se trouve le bouton du tableau à deux dimensions. Pour créer un bouton, dans la boucle, vous devez mettre la grille [x] [y] = new JButton ("(" + x + "," + y + ")");
-
7 Ajouter des boutons à l'image. Dans la boucle, nous devons placer les boutons sur le cadre avec une simple commande: frame.add (grid [x] [y]);
-
8 Créer une instance ButtonGrid. Dans votre type de classe principale: new ButtonGrid (3,3); Les deux trois marques sont une grille de 3 par 3 et deux nombres positifs peuvent être ajoutés.
-
9 Exécuter de programme. Pour ce faire, appuyez sur Ctrl + F11
-
10 En savoir plus sur java: http://java.sun.com/j2se/1.4.2/docs/api/index-files/index-1.html
- Plus avec les boutons: Pour que les boutons fassent quelque chose, regardez l'actionListener ()
Étapes Code
- La classe principale:
Publique classe ButtonGrid Publique statique vide principale(Chaîne[] args)
- Importations:
importer javax.swing.JFrame; importer javax.swing.JButton; importer java.awt.GridLayout; Publique classe ButtonGrid …
- Code constructeur:
Publique classe ButtonGrid Publique ButtonGrid(int largeur, int longueur) …
- Code cadre:
Publique classe ButtonGrid JFrame Cadre=Nouveau Jframe(); Publique ButtonGrid(int largeur, int longueur) Cadre.setLayout(Nouveau Disposition de la grille(Longueur Largeur)); Cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Cadre.pack(); Cadre.setVisible(vrai); …
- Code de grille de bouton:
|JFrame Cadre=Nouveau JFrame(); // crée un cadre JButton[][] la grille; // nomme la grille de boutons Publique ButtonGrid(int largeur, int longueur) // constructeur avec 2 paramètres Cadre.setLayout(Nouveau Disposition de la grille(Longueur Largeur)); // définir la disposition du cadre la grille=Nouveau JButton[largeur][longueur]; // alloue la taille de la grille pour(int y=0; y<longueur; y++) pour(int X=0; X<largeur; X++) la grille[X][y]=Nouveau JButton("("+X+","+y+")"); Cadre.ajouter(la grille[X][y]); // ajoute un bouton à la grille Cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Cadre.pack(); Cadre.setVisible(vrai); …
- Ajout de boutons à l'image:
pour(int y=0; y<longueur; y++) pour(int X=0; X<largeur; X++) la grille[X][y]=Nouveau JButton("("+X+","+y+")"); Cadre.ajouter(la grille[X][y]); …
- Création d'une instance de grille de boutons:
Publique statique vide principale(Chaîne[] args) Nouveau ButtonGrid(3,3);// crée un nouveau ButtonGrid avec 2 paramètres …
- Code final:
importer javax.swing.JFrame; // importe la bibliothèque JFrame importer javax.swing.JButton; // importe la bibliothèque JButton importer java.awt.GridLayout; // importe la bibliothèque GridLayout Publique classe ButtonGrid JFrame Cadre=Nouveau JFrame(); // crée un cadre JButton[][] la grille; // nomme la grille de boutons Publique ButtonGrid(int largeur, int longueur) //constructeur Cadre.setLayout(Nouveau Disposition de la grille(Longueur Largeur)); // définir la mise en page la grille=Nouveau JButton[largeur][longueur]; // alloue la taille de la grille pour(int y=0; y<longueur; y++) pour(int X=0; X<largeur; X++) la grille[X][y]=Nouveau JButton("("+X+","+y+")"); // crée un nouveau bouton Cadre.ajouter(la grille[X][y]); // ajoute un bouton à la grille Cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Cadre.pack(); // définit la taille appropriée pour le cadre Cadre.setVisible(vrai); // rend le cadre visible Publique statique vide principale(Chaîne[] args) Nouveau ButtonGrid(3,3);// crée un nouveau ButtonGrid avec 2 paramètres
import javax.swing.JFrame; // importe la bibliothèque JFrame import javax.swing.JButton; // importe la bibliothèque JButton import java.awt.GridLayout; // importe la bibliothèque GridLayout
classe publique ButtonGrid
JFrame frame = new JFrame (); // crée le cadre JButton [] [] grille; // nomme la grille de boutons
public ButtonGrid (int width, int length) // constructeur frame.setLayout (new GridLayout (width, length)); // définir la grille de mise en page = new JButton [width] [length]; // alloue la taille de la grille pour (int y = 0; y