1

对于一个作业,我需要在 500x600 的画布周围从两侧 20 像素处绘制一个边框,所以我手动完成了:

//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);

但是现在我必须使用 Dimension 类中的一个对象,这样每当画布大小发生变化时,边框也会发生变化。所以

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

但是我该怎么做呢?每次我得到:找不到符号 - 方法 getHeight()

4

2 回答 2

2

您可以简单地使用多个Borders如何使用 Borders)。

就像是...

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

假设“画布”JComponent当然是从……

于 2012-09-24T20:41:24.277 回答
1

作为myCanvas包含许多基于摆动的对象的自定义类,您可以使用以下方法进行绘制:

myCanvas.drawLine(20, 20, myCanvas.getSize().height - 20, 20);
于 2012-09-24T16:55:01.967 回答