Create grid vertically in java

271 Views Asked by At

I am using GridLayout to make a grid one row at a time. I want to create such grid vertically and put an image in each grid. Here is my current code snippet. please give me some suggestions on how to proceed:

public ButtonGrid(int width, int length){

        frame.setLayout(new GridLayout()); //set layout
        grid=new JLabel[length][width]; //allocate the size of grid
    try {
        file = new FileInputStream("I:\\cache1\\newtask_list.txt");
        bout = new BufferedReader(new InputStreamReader(file));

        } catch (Exception e) {Logger.getLogger(ButtonGrid.class.getName()).log(Level.SEVERE, null, e);}
        for(int y=0; y<length; y++){

                for(int x=0; x<width; x++){
                        BufferedImage image=null;
                    try {
                       str=bout.readLine();
                       str1=str.substring(0,23);

                       image=ImageIO.read(new File("I:\\cache1\\newtask\\"+str1));
                       } catch (IOException e) {Logger.getLogger(ButtonGrid.class.getName()).log(Level.SEVERE, null, e);
                     }
                       ImageIcon icon = new ImageIcon(image);

                       grid[y][x]=new JLabel(icon); //creates new button 
                       grid[y][x]=new JLabel("("+x+","+y+")");
                       System.out.println(x+"\t"+y);
                       frame.add(grid[y][x]); //adds button to grid
          }

       }
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack(); //sets appropriate size for frame
        frame.setVisible(true); //makes frame visible
}
public static void main(String[] args) {
        new ButtonGrid(12,16);//makes new ButtonGrid with 2 parameters
}
0

There are 0 best solutions below