Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Griglia in java

  1. #1

    Griglia in java

    Salve a tutti devo implementare Forza4 in java, e per questo mi serve una griglia...
    Fino ad ora non sono riuscito ad ottenere buoni risultati. So solo che all' interno della classe che mi estende il JPanel devo utlizzare il paint
    e all' inteno di ogni casella disegnarci un ovale di colore bianco che poi sarà riempito con il metodo fillOval. Qualcuno sa aiutarmi ??

  2. #2
    Sono riuscito a creare questo dopo molti sforzi leggendo di qua e di la, ma l'ovale che ottengo, è unico, mentre io lo vorrei ripetuto per il numero di vole richiesto, e su uno sfono blu

    codice:
    import java.awt.*;
    import java.awt.geom.*;
    import javax.swing.*;
    
    class Piattaforma2 extends JPanel
    {
        final int diametro = 100;
        private Shape [][] Figure;
    
        public Piattaforma2()
        {
            Figure= new Shape[7][6];
            setPreferredSize (new Dimension(700,700));
        }
    
        public void paintComponent(Graphics g)
        {
            super.paintComponent(g);
            g.setColor(Color.BLUE);
            Graphics2D g2 = (Graphics2D) g;
            
            for (int i=0; i<7; i++)
            {
                for (int j=0; j<6; j++)
                {
                    //g2.setColor( ( (i+j)%2 == 0) ? Color.BLACK : Color.WHITE);
                    //Figure [i][j] = new Rectangle2D.Double(i*100,j*100 ,100,100);
                    //g2.fill(Figure [i][j]);
                    g2.setColor(Color.WHITE);
                    Figure[i][j] = new Rectangle2D.Double(i*100, j*100, 100, 100) ;
                    g2.fillOval(i, j,diametro, diametro);
                    
                      
                }
            }
        }
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Buttiamo giù delle idee secondo un certo ordine:
    -per i componenti swing (JPanel) si deve sovrascrivere "paintComponent" piuttosto che "paint"
    -per disegnare la griglia bastano due cicli for e richiamare drawLine giocando un po' con gli indici del ciclo e le dimensioni dell'area destinata alla griglia
    -per disegnare usi giustamente draw e gli passi la tua figura
    -per riempirlo segui il ragionamento di prima ma usando fill

    Riesci ora a completare il tuo codice?


  4. #4
    Noo perchè nel drawLine non so che indici metterci mi daresti una mano ? e poi perchè nonostante abbia settato il colore blu come sfondo questo non esce ??
    Help !!

  5. #5
    Sono riuscito ad ottenere quello che volevo
    posto qui la soluzione per chi ne volesse usufruire :
    codice:
     public void paintComponent(Graphics g)
        {
            super.paintComponent(g);        
            Graphics2D g2 = (Graphics2D) g;
            g2.setColor(Color.BLUE);
            g2.fillRect(0, 0, getSize().width, getSize().height); 
            /*
             *  disegniamo un rettangolo le cui dimensioni si adattano al pannello (ultimi due parametri)
             * e i primi due danno la posizione di partenza del rettangolo
             */
            for (int i=0; i<7; i++)
                {
                
                    for (int j=0; j<6; j++)
                    {
                        g2.setColor(Color.WHITE);                
                        //definiamo il colore che deve avere l'ovale
                        g2.fillOval((spazio + (spazio + diametro)*i), (spazio + (spazio + diametro)*j) ,diametro, diametro);                    
                        /*
                         * disegniamo l'ovale che conterrà le pedine. Come coordianate affinchè possa ripetersi l'ovale 
                         * per il numero di volte che a noi serve, ci poniamo lo spazio
                         */         
                }
            }
        }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.