Sbagli diverse cose: per esempio il GridLayout lo allochi e basta ma non lo associ a nessun Container, oppure usi setContentPane che non è il massimo della vita. ti mostro come lo farei io(l'ho provato, funziona ma è un po bruttino poi te lo devi aggiustare te, magari parametrizzando nel costruttore di Mattone il colore).
codice:File Mattone.java public class Mattone extends javax.swing.JPanel{ public Mattone(){ super(); this.setBackground(java.awt.Color.blue); } }Ti consiglio cmq di rifarti SEMPRE sulla documentazione java che è veramente fatta bene e ci trovi qualsiasi tipo di informazione!codice:File Main.java public class Main extends javax.swing.JFrame{ public Main(){ super(); this.setSize(500,500); this.setLocation(200,200); this.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); java.awt.Container contentPane = this.getContentPane(); javax.swing.JPanel mainPanel = new javax.swing.JPanel(new java.awt.GridLayout(7,6,2,2)); for (int i=0;i<3;i++){ for (int j=0;j<6;j++){ mainPanel.add(new Mattone()); } } //inserisco i mattoni for (int i=3;i<7;i++){ for (int j=0;j<6;j++){ mainPanel.add(new javax.swing.JPanel()); } } //inserisco dei pannelli vuoti per riempire tutta la griglia. contentPane.add(mainPanel); //inserisco il pannello con la griglia di mattoni nel content pane this.setVisible(true); } public static void main(String args[]){ new Main(); } }
http://java.sun.com/javase/6/docs/
Ciao.


Rispondi quotando