The Grid non fa nulla di speciale in questa fase, ma con un po' di ricerca, puoi aggiungere ascoltatori d'azione e un po' di logica per creare un semplice gioco 2D come tic-tac-toe o giochi più complicati come Battleship.
Nota: questo articolo utilizza Eclipse per tutti gli esempi, quindi le cose potrebbero essere diverse a seconda del tuo IDE. Questo dovrebbe essere molto simile a quello di cui avrai bisogno in JCreator, ma è piuttosto inutile per un IDE basato su GUI come NetBeans, principalmente a causa del metodo di trascinamento della selezione di NetBeans.
Passi
Passaggio 1. Creare un progetto Java
Questo è piuttosto semplice. Accendi il tuo IDE e crea un nuovo progetto. Chiamalo come vuoi. L'esempio sarà buttongrid.
Questo nome non ha alcuna importanza poiché è solo il nome del file che verrà assegnato
Passaggio 2. Creare una classe Java con un metodo principale
Crea una nuova classe e chiamala come vuoi. L'esempio sarà buttongrid. Per un utente Eclipse vorrai spuntare la casella chiamata public static void main(string args), quindi non dovrai digitarla all'avvio.
Questo nome è più importante del precedente perché dovrà essere un'unica parola altrimenti non sarà utilizzabile
Passaggio 3. Importa librerie
Questo porta tutte le informazioni necessarie per scrivere il codice in questo codice. Dovrai importare javax.swing. JFrame, javax.swing. JButton e java.awt. Gridlayout. Questi vengono messi prima dell'inizio della lezione, da qualche parte sulle righe tra 1 e 3, l'ordine in cui sono lì non ha importanza.
Passaggio 4. Creare un costruttore
Il costruttore crea una nuova istanza della classe buttongrid consentendo a molte griglie di pulsanti diverse di avere informazioni separate. Tutti i costruttori devono avere lo stesso nome della loro classe. I costruttori non hanno bisogno di nulla prima di esso, ma spesso "pubblico" viene messo lì per facilità di riferimento. I costruttori sono spesso posizionati come primo metodo in una classe, quindi va subito dopo il nome della classe, tuttavia deve essere posizionato all'interno della classe. Il costruttore di buttongrid necessita di parametri, che sono messi tra parentesi quadre dopo il nome del costruttore. I parametri in questo esempio sono i numeri interi 'x' e 'y'.
Passaggio 5. Crea cornice:
- La cornice deve essere nominata. Per assicurarti che possa essere referenziato al di fuori del metodo del costruttore ButtonGrid, lo metti al di fuori di quel metodo, ma all'interno della classe. La maggior parte delle variabili viene nominata all'inizio della classe subito prima del costruttore. Per creare un nuovo frame digita: JFrame frame = new JFrame();
- All'interno del metodo del costruttore dobbiamo assicurarci che tutti i pulsanti siano inseriti nel layout della griglia. Per fare ciò impostiamo il layout del frame digitando: frame.setLayout(new GridLayout(x, y));
- Non necessariamente obbligatorio, ma per chiudere il frame quando premi il pulsante 'x' nell'angolo in alto a destra dobbiamo aggiungere la riga: frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
- Per fare in modo che il frame abbia una dimensione adeguata in modo che tutto si adatti dobbiamo eseguire il comando pack: frame.pack();
-
Infine per il frame dobbiamo renderlo visibile: frame.setVisible(true);
Passaggio 6. Crea griglia di pulsanti:
- I pulsanti con cui l'utente interagisce devono essere realizzati, ma poiché non sappiamo quanti ne abbiamo bisogno, devono essere nominati per primi. Quindi, proprio sotto la linea in cui crei il frame, crea i pulsanti: JButton grid; Le due serie di parentesi quadre sono lì per dire che i JButton nella griglia sono mantenuti in un formato bidimensionale, se ci fosse solo una serie di parentesi quadre allora sarebbe semplicemente una linea di JButton, che funziona ancora, è solo più facile fare riferimento a quale pulsante viene creato o con cui si interagisce quando è bidimensionale.
- I JButton sono stati nominati, ma dobbiamo ancora dire quanti pulsanti ci sono. Devi aggiungere una riga di codice nel costruttore che imposta la quantità: grid=new JButton[width][length];
-
Ora che è stato determinato che ci sarà un certo numero di pulsanti, ognuno deve essere creato. Il modo più semplice per farlo è con due cicli for, uno per l'asse x, uno per l'asse y. All'interno dei due loop creiamo un nuovo pulsante e, per facilità di riferimento, l'esempio inserisce del testo all'interno di ciascun pulsante in modo da sapere quale pulsante nell'array bidimensionale si trova dove. Per creare un pulsante, all'interno del ciclo devi mettere grid[x][y] = new JButton ("("+x+", "+y+")");
Passaggio 7. Aggiungi pulsanti alla cornice
All'interno del loop dobbiamo inserire i pulsanti sul frame con un semplice comando: frame.add(grid[x][y]);
Passaggio 8. Crea un'istanza di ButtonGrid
Nella tua classe principale digita: new ButtonGrid(3, 3); I due tre formano una griglia 3 per 3 e possono essere inseriti due numeri positivi qualsiasi.
Passaggio 9. Esegui il programma
Per farlo in Eclipse premi Ctrl+F11
Metodo 1 di 1: codice dei passaggi
La classe principale:
public class ButtonGrid { public static void main(String args) { } }
Importazioni:
import javax.swing. JFrame; import javax.swing. JButton; import java.awt. GridLayout; public class ButtonGrid { …
Codice costruttore:
public class ButtonGrid { public ButtonGrid(int larghezza, int lunghezza){ } } …
Codice telaio:
public class ButtonGrid { JFrame frame=new Jframe(); public ButtonGrid(larghezza int, lunghezza int){ frame.setLayout(new GridLayout(larghezza, lunghezza)); frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } } …
Codice griglia pulsanti:
|JFrame frame=nuovo JFrame(); //crea il frame JButton griglia; //nomina la griglia dei pulsanti public ButtonGrid(int width, int length){ //costruttore con 2 parametri frame.setLayout(new GridLayout(width, length)); //imposta il layout del frame grid=new JButton[width][length]; //alloca la dimensione della griglia for(int y=0; y<lunghezza; y++){ for(int x=0; x<larghezza; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); frame.add(grid[x][y]); //aggiunge il pulsante alla griglia } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } …
Aggiunta di pulsanti alla cornice:
for(int y=0; y<lunghezza; y++){ for(int x=0; x<larghezza; x++){ grid[x][y]=new JButton("("+x+", "+y+")"); frame.add(grid[x][y]); } } …
Creazione di un'istanza della griglia di pulsanti:
public static void main(String args) { new ButtonGrid(3, 3);//crea un nuovo ButtonGrid con 2 parametri } …
Codice finale:
import javax.swing. JFrame; //importa la libreria JFrame import javax.swing. JButton; //importa la libreria JButton import java.awt. GridLayout; //importa la classe pubblica della libreria GridLayout ButtonGrid { JFrame frame=new JFrame(); //crea il frame JButton griglia; //nomina la griglia dei pulsanti public ButtonGrid(int width, int length){ //constructor frame.setLayout(new GridLayout(width, length)); //set layout grid=new JButton[width][length]; //alloca la dimensione della griglia for(int y=0; y<lunghezza; y++){ for(int x=0; x<larghezza; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); //crea un nuovo pulsante frame.add(grid[x][y]); //aggiunge il pulsante alla griglia } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); //imposta la dimensione appropriata per il frame frame.setVisible(true); //rende visibile il frame } public static void main(String args) { new ButtonGrid(3, 3);//crea un nuovo ButtonGrid con 2 parametri } }
import javax.swing. JFrame; //importa la libreria JFrame import javax.swing. JButton; //importa la libreria JButton import java.awt. GridLayout; //importa la libreria GridLayout
classe pubblica ButtonGrid {
JFrame frame=new JFrame(); //crea il frame JButton griglia; //nomina la griglia dei pulsanti
public ButtonGrid(int width, int length){ //costruttore frame.setLayout(new GridLayout(width, length)); //set layout grid=new JButton[width][length]; //alloca la dimensione della griglia for(int y=0; y<lunghezza; y++){ for(int x=0; x<larghezza; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); //crea un nuovo pulsante frame.add(grid[x][y]); //aggiunge il pulsante alla griglia } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); //imposta la dimensione appropriata per il frame frame.setVisible(true); //rende visibile il frame } public static void main(String args) { new ButtonGrid(3, 3);//crea un nuovo ButtonGrid con 2 parametri }