Tuesday 15 June 2010

java - How can I make a grid of 50 by 50 labels? -



java - How can I make a grid of 50 by 50 labels? -

i'm recreating classic game 'snake'. thought firstly create grid of 50 x 50 cells each cell label of 10 x 10 pixels.

however, can't work. i'm using gridlayout somehow doesn't work, apparently can't set site of each grid.

i watched video on youtube guy made tic tac toe game in each size of each grid automatically adapted size of added images. should if utilize labels instead of images?

basically, should create each cell 10 10 pixels big, , set them in grid of 50x50 cells?

import java.awt.*; import javax.swing.*; public class mainsnake { jframe frame; jlabel[][] cells; mainsnake() { //frame initializion frame = new jframe("snake"); frame.getcontentpane().setbackground(color.black); frame.setsize(500, 500); frame.setvisible(true); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setresizable(false); frame.setlayout(new gridlayout(50, 50)); createcells(); } //end mainsnake public static void main(string[]a) { new mainsnake(); } //end main public void createcells(){ int = 0; int i; cells = new jlabel[50][50]; (i = 0; < 50; i++){ if(i < 50){ cells[i][a] = new jlabel(""); cells[i][a].setopaque(true); cells[i][a].setbackground(color.white); cells[i][a].setborder(borderfactory.createlineborder(color.blue, 1)); cells[i][a].setpreferredsize(new dimension(10,10)); frame.add(cells[i][a]); } if(i==49){ = 0; aa++; } } //end } } //end class

this (i added borders ble able see how each cell looks like):

ken, can seek solution when have time?

import java.awt.*; import javax.swing.*; public class mainsnake { jframe frame; jpanel panel; jlabel[][] cells; mainsnake() { // frame initializion frame = new jframe("snake"); frame.setlayout(new borderlayout()); frame.getcontentpane().setbackground(color.black); frame.setsize(700, 700); frame.setvisible(true); frame.setdefaultcloseoperation(jframe.exit_on_close); //frame.setresizable(false); panel = new jpanel(); panel.setlayout(new gridlayout(50, 50)); frame.add(panel); createcells(); panel.revalidate(); panel.repaint(); } // end mainsnake public static void main(string[] a) { new mainsnake(); } // end main public void createcells() { int i; cells = new jlabel[50][50]; (i = 0; < 50; i++) { (int j = 0; j < cells.length; j++) { cells[i][j] = new jlabel(i+""); cells[i][j].setopaque(true); cells[i][j].setbackground(color.white); cells[i][j].setborder(borderfactory.createlineborder(color.blue, 1)); //cells[i][j].setpreferredsize(new dimension(10, 10)); panel.add(cells[i][j]); } } // end } }

java user-interface

No comments:

Post a Comment