fillRoundRect圆角矩形边角不平滑

fei得更高 2020-04-07 07:23:34

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JPanel;

public class BtnImgBgPanle extends JPanel
{
/**
*
*/
private static final long serialVersionUID = 1L;
private int comWidth;
private int comHeight;

public BtnImgBgPanle()
{
this.comWidth = 100;
this.comHeight = 30;
}

@Override
public void paint(Graphics g)
{
g.setColor(Color.blue);
g.fillRoundRect(0, 0, comWidth, comHeight, 10, 10);
}
}

用g.fillRoundRect画的圆角矩形效果很一般:

放大后:

请教大伙,这个怎么解决?
...全文
846 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fei得更高 2020-04-09
  • 打赏
  • 举报
回复
引用 1 楼 sunyiz 的回复:
你需要开抗锯齿

@Override
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
// 设置抗锯齿
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

g.setColor(Color.blue);
g.fillRoundRect(0, 0, comWidth, comHeight, 10, 10);
}


确实有效
sunyiz 2020-04-08
  • 打赏
  • 举报
回复 1
你需要开抗锯齿

@Override
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
// 设置抗锯齿
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

g.setColor(Color.blue);
g.fillRoundRect(0, 0, comWidth, comHeight, 10, 10);
}

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧