我正在重写 JPanel 的paintComponent()
方法来在屏幕上绘制一些东西。
这是它的样子:
我正在使用以下代码来设置剪切区域。这样可以使边缘弯曲。
RoundRectangle2D r = new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), 100, 150);
g.setClip(r);
显然,窗口右侧有问题。经过进一步检查,我发现 JPanel 的getWidth()
方法没有报告正确的数字。通常,它会稍微偏离。例如:
Width = 500, getWidth() = 492
Width = 1000, getWidth() = 992
Width = 100, getWidth() = 192
Width = 350, getWidth() = 342
Width = 600, getWidth() = 592
我的问题是,为什么它总是如此错误?为什么是getHeight()
正确的?
如果没有编程方式来获得实际宽度,我应该简单地添加 8