Je ne pense pas que ce sera trop lourd depuis le Graphics2D
de votre JPanel
devrait être le même que celui qui est passé à la JLabel
mais avec des limites différentes et des compensations. Ce que je veux dire, c'est que Swing n'alloue pas un nouveau contexte graphique sur lequel vous pouvez afficher pour chaque élément à l'intérieur d'une hiérarchie d'objets, mais il utilise le même avec des capacités différentes. Cela ne signifie pas que panel.getGraphics() == label.getGraphics()
mais ni ils sont des obits complètement différents.
Dans tous les cas, si vous avez besoin de faire beaucoup de travail d'animation, je vous suggère d'avoir votre propre classe de sprite
class Sprite
{
Point2D position;
Rectangle2D size;
float rotation;
}
et de gérer tout au même niveau paintComponent
. Ou du moins, je l'ai toujours fait comme Java2D n'est pas comme CoreAnimation qui est fait pour être utilisé sur une base par couche pour le contenu en mouvement/animé.