Bonjour!

Mon application doit afficher un tableau d'objets, en vue de créer un "éditeur de niveau" pour un jeu à la Dungeon Master (isométrique, simple, etc.).

L'idée est donc de représenter chaque block du terrain (mur, sol, porte) par un carré dans l'éditeur.

Le code de la fenêtre de l'éditeur est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class LevelEditorWindow extends javax.swing.JFrame {
 
	/** Creates new form LevelEditorWindow */
	public LevelEditorWindow() {
		initComponents(); // Généré par Matisse
		initWindow(); // Set le look and feel sur "system"
 
		int size = 10; // Largeur du niveau, en blocks
		int squareSize = 16; // Largeur d'un carré dans l'éditeur
 
		levelPanel.setLayout(new GridLayout(0, size));
 
		for (int i = 0; i < size * size; i++) {
			levelPanel.add(new LevelBlockComponent());
		}
 
		this.setVisible(true);
	} (...) // initComponents() et initWindow()
Mon custom JComponent est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public class LevelBlockComponent extends JComponent {
 
	public LevelBlockComponent() {
		super();
 
		this.setMinimumSize(new Dimension(16, 16));
		this.setMaximumSize(new Dimension(16, 16));
		this.setSize(16, 16);
 
		this.setBackground(Color.BLUE);
		this.setBorder(BorderFactory.createLineBorder(Color.black));
	}
}
en exécutant ceci je n'obtiens qu'un seul carré noir de quelques pixels de coté (sans fond bleu, etc. juste un simple carré noir) alors que si l'on remplace
Code : Sélectionner tout - Visualiser dans une fenêtre à part
levelPanel.add(new LevelBlockComponent());
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
levelPanel.add(new JButton("test"));
on voit apparaître une horde de boutons "test"...

je ne trouve pas comment écrire mon custom JComponent... merci pour votre aide!