Comment dessiner une bordure sur un canevas en Java, en utilisant un objet de la classe Dimension?


Pour une tâche, j'avais besoin de dessiner une bordure autour d'un canevas 500x600 sur 20px des côtés, donc je l'ai fait manuellement:

//upper line
myCanvas.drawLine(20, 20, 580, 20);

//bottom line
myCanvas.drawLine(20, 480, 580, 480);

//west line
myCanvas.drawLine(20, 20, 20, 480);

//east line
myCanvas.drawLine(580, 20, 580, 480);

Mais maintenant je dois utiliser un objet de la classe Dimension, de sorte que chaque fois que la taille du canevas change, la bordure change aussi. Donc

myCanvas.drawLine(20, 20, (myCanvas.getHeight() - 20), 20)

Mais comment puis-je faire cela? Chaque fois que je reçois: impossible de trouver symbol-method getHeight ()

Author: MadProgrammer, 2012-09-24

2 answers

, il Vous suffit d'utiliser un numéro de Borders (Comment utiliser les Bordures.

Quelque chose comme...

myCanvas.setBorder(new CompoundBorder(new EmptyBorder(20, 20, 20, 20), new LineBorder(Color.BLACK));

En supposant que "canvas" s'étend d'un JComponent bien sûr...

 1
Author: MadProgrammer, 2012-09-24 20:41:24

Comme myCanvas est une classe personnalisée qui contient un certain nombre d'objets basés sur swing, vous dessinez en utilisant:

myCanvas.drawLine(20, 20, myCanvas.getSize().height - 20, 20);
 1
Author: Reimeus, 2012-09-24 19:00:24