J'ai donc une grille qui stocke des JScrollPane dans chaque cellule. Ceux-ci sont également placés dans un tableau à d'autres fins. Le "View" étend le "JPanel" de sorte qu'il s'agit simplement d'un panneau normal avec prise en charge des images. L'application démarre avec des cellules remplies de scrollPane qui contiennent la vue qui n'a pas encore d'image.
À ce stade, je ne vois pas de barre de défilement, mais cela n'a pas d'importance puisqu'il n'y a rien à l'intérieur du JPanel. Dès que j'ouvre une image et que j'utilise drawImage dans le paintComponenet du JPanel, je ne vois plus de barre de défilement. Voici comment je crée la grille et la barre de défilement
private void createContentPane()
{
GridLayout gridLay = new GridLayout(GRID_ROWS, GRID_COLUMNS);
perspectiveTbl = new JScrollPane[NUM_PERSPECTIVE];
mainPane = new JPanel();
mainPane.setLayout(gridLay);
int idx = 0;
while(idx < perspectiveTbl.length)
{
perspectiveTbl[idx] = new JScrollPane(new View(modelImage));
mainPane.add(perspectiveTbl[idx]);
idx++;
}
this.getContentPane().add(mainPane, BorderLayout.CENTER);
}
Je ne sais pas exactement pourquoi les barres de défilement ne s'affichent pas, auraient-elles dû être placées dans le panneau de l'image ?
Voici une image de l'application, comme vous pouvez le voir l'image de la chaussure ne reçoit pas de barre de défilement, il n'y a donc aucun moyen de voir le reste de l'image :