J'ai étudié Java à mon université, je suis assez nouveau mais j'essaie de faire de mon mieux pour m'améliorer. J'essaie de créer une interface graphique qui affiche une grille de Grass Tiles (en utilisant JLabels avec des icônes Grass), mais je veux ajouter d'autres icônes sur le dessus de l'herbe (icônes de caractères) afin que je puisse voir un personnage debout sur l'herbe. J'ai pensé que je pourrais le faire en utilisant JLayeredPane et ajouter un autre JLabel au même endroit mais avec une priorité de couche plus élevée, mais cela ne semble pas fonctionner. Des conseils sur ce que je devrais faire?Ajout d'un JLabel avec une icône d'arrière-plan transparent sur un autre JLabel et affichage des deux
Merci :)
EDIT: j'ai réussi à le faire en utilisant MigLayout et l'instruction setOpaque (false). Merci pour vos réponses :)
Il y a un certain nombre de façons de le faire. Vous pouvez appliquer un gestionnaire de disposition aux étiquettes d'herbe, de sorte que vous pouvez leur ajouter des composants, de cette façon vous pouvez utiliser un GridLayout simplement pour afficher les carreaux d'herbe ou vous pouvez créer un composant personnalisé qui peint son arrière-plan avec l'image herbe. encore une fois, en ajoutant un gestionnaire de disposition pour que vous puissiez ajouter des composants. Les deux ont des mérites, le panneau personnalisé est plus compliqué, mais vous donne plus de contrôle sur la taille du composant, l'étiquette est plus simple, mais ne sera jamais la taille de l'icône, pas son contenu – MadProgrammer
C'est bien si les étiquettes sont les taille de l'icône. Si vous avez le temps, pourriez-vous s'il vous plaît poster un exemple de code pour cela? –
Au lieu de modifier votre question avec "J'ai résolu ceci par ...", veuillez ajouter une réponse à votre question (y compris le code sous la forme d'un [mcve]) afin que tous ceux qui viennent voir cette question à l'avenir pour le faire s'ils viennent avec un problème ou une question similaire. @MadProgrammer n'a pas publié un exemple de code pour cela parce que vous n'avez posté aucun code pour travailler avec, mais voici quelques [exemples] (http://stackoverflow.com/questions/19125707/simplest-way-to-set-image- as-jpanel-background) et [ici] (http://stackoverflow.com/questions/1466240/how-to-set-an-image-as-a-background-for-frame-in-swing-gui-of -java) – Frakcool