一个关于Graphics.drawRoundRect的问题

jielvv 2003-07-03 10:34:47
我调用这个函数画一个弧形角的方框。
按照我的想法这个方框应该是连续的,但是我每次画的时候方框在角上弧形的地方总是有几个点的断续,不是一个连续的框,不知道应该怎样解决?
...全文
324 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolfsquare 2003-07-03
  • 打赏
  • 举报
回复

经测试,没有这种现象.

import javax.swing.JFrame;
import java.awt.*;

public class DrawTest extends JFrame {

public DrawTest() throws HeadlessException {
}

public void paint(Graphics g){
super.paint(g);
g.setColor(Color.white);
g.drawRoundRect(50,50,200,300,18,18);
}

public static void main(String[] args) throws HeadlessException {
DrawTest drawTest1 = new DrawTest();
drawTest1.show();
}
}
wolfsquare 2003-07-03
  • 打赏
  • 举报
回复
这个是锯齿效应....
jielvv 2003-07-03
  • 打赏
  • 举报
回复
我知道了,把线宽设置成2就可以了
jielvv 2003-07-03
  • 打赏
  • 举报
回复
谢谢wolfsquare(狼平方) 抽出时间为我测试,如果问题解决了我再加50分
不过画一个框并不能看清这种现象,我把你的程序改了一下,现在可以明显的看到不连续现象:
import javax.swing.JFrame;
import java.awt.*;

public class DrawTest extends JFrame {

public DrawTest() throws HeadlessException {
setSize(300,500);
}

public void paint(Graphics g){
super.paint(g);
g.setColor(Color.black);
for(int i=0; i<10; i++)
{
g.drawRoundRect(50+i,50+i,200-2*i,300-2*i,18,18);
}
}

public static void main(String[] args) throws HeadlessException {
DrawTest drawTest1 = new DrawTest();
drawTest1.show();
}
}

62,629

社区成员

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

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