gpt4 book ai didi

java - 如何删除自定义按钮边框上的 "stretch marks"?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:54:24 25 4
gpt4 key购买 nike

在按钮的 Graphics2D 对象上执行一些自定义绘画时,我得到以下结果:

enter image description here

最左边的按钮未切换,另一个已切换。如您所见,切换按钮具有这些白色“妊娠纹”。为什么会有这些,我该如何删除它们?

这是我用来绘制边框的代码:

// Draw border of button
if(!getModel().isSelected())
{
g2.fillRoundRect(2, 2, getWidth() - 5, getHeight() - 5, ARC_WIDTH, ARC_HEIGHT);
g2.setColor(Color.BLACK);
g2.drawRoundRect(0, 0, getWidth() - 1, getHeight() - 1, ARC_WIDTH, ARC_HEIGHT);
g2.setColor(Color.WHITE);
g2.drawRoundRect(1, 1, getWidth() - 3, getHeight() - 3, ARC_WIDTH, ARC_HEIGHT);
g2.setColor(Color.WHITE);
g2.drawRoundRect(2, 2, getWidth() - 5, getHeight() - 5, ARC_WIDTH, ARC_HEIGHT);
g2.setColor(Color.BLACK);
g2.drawRoundRect(3, 3, getWidth() - 7, getHeight() - 7, ARC_WIDTH, ARC_HEIGHT);
}
else
{
g2.fillRoundRect(2, 2, getWidth() - 5, getHeight() - 5, ARC_WIDTH, ARC_HEIGHT);
g2.setColor(Color.BLACK);
g2.drawRoundRect(0, 0, getWidth() - 1, getHeight() - 1, ARC_WIDTH, ARC_HEIGHT);
g2.setColor(Color.BLACK);
g2.drawRoundRect(1, 1, getWidth() - 3, getHeight() - 3, ARC_WIDTH, ARC_HEIGHT);
g2.setColor(Color.BLACK);
g2.drawRoundRect(2, 2, getWidth() - 5, getHeight() - 5, ARC_WIDTH, ARC_HEIGHT);
g2.setColor(Color.BLACK);
g2.drawRoundRect(3, 3, getWidth() - 7, getHeight() - 7, ARC_WIDTH, ARC_HEIGHT);
}

最佳答案

为什么要在按钮周围绘制这么多圆角矩形?据我所知,正确的方法是在绘制您喜欢的边框时使用 setStroke() API。

关于java - 如何删除自定义按钮边框上的 "stretch marks"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9382426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com