如何使用Dimension类中的对象在Java中在画布上绘制边框?

问题描述 投票:1回答:2

对于作业,我需要在两侧20px的500x600画布周围绘制边框,所以我手动完成:

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

java canvas border dimension
2个回答
2
投票

你可以简单地使用一些BordersHow to use Borders)。

就像是...

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

假设“帆布”当然从JComponent延伸......


1
投票

由于myCanvas是一个包含许多基于swing的对象的自定义类,因此您使用以下方法绘制:

myCanvas.drawLine(20, 20, myCanvas.getSize().height - 20, 20);
© www.soinside.com 2019 - 2024. All rights reserved.