Question

J'ai un composant d'interface graphique simple écrit en Java. La classe dessine une horloge analogique dans un fichier java.awt.canvas.
Cette toile est alors contenue dans un cadre JFrame. Ce que je veux faire, c'est donner à la toile un 3d "en relief". effet - presque comme ajouter une ombre portée à une photo. Y a-t-il un moyen simple de faire cela?

Était-ce utile?

La solution

Si vous utilisez un cadre JFrame, vous avez deux options:

  1. Ajoutez d'abord votre propre composant à un fichier JPanel, puis ajoutez-le au fichier JFrame.

  2. Au lieu d'hériter de java.awt.Canvas, vous pouvez hériter de JComponent. Ensuite, vous devrez faire toute votre peinture dans la méthode paintComponent () au lieu de simplement paint () (vous pouvez simplement renommer votre méthode de peinture actuelle).

Dans les deux cas, vous pouvez maintenant définir une bordure avec la méthode setBorder () (sur JPanel ou sur votre composant) que vous pouvez obtenir avec BorderFactory.

Voir aussi: Comment utiliser les bordures

Autres conseils

Si vous utilisiez un élément Swing, utilisez la méthode createRaisedBevelBorder () de BorderFactory et définissez la bordure de la zone de travail sur la bordure résultante. Canvas est un composant AWT. Vous devez donc l’envelopper dans un composant Swing sur lequel vous pouvez définir la bordure.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top