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:
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
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()
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
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)); } }
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part levelPanel.add(new LevelBlockComponent());
on voit apparaître une horde de boutons "test"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part levelPanel.add(new JButton("test"));
je ne trouve pas comment écrire mon custom JComponent... merci pour votre aide!
Partager