绘制椭圆形组件,但是填充与椭圆线重叠,如何解决此问题?

时间:2019-01-16 23:02:16

标签: java swing awt java-2d

我的椭圆填充法与椭圆线重叠。如何在不重叠线的情况下填充椭圆形?

我已经调整了两者的高度和宽度,但似乎找不到合适的数字以使其看起来恰到好处。

public void paintComponent(java.awt.Graphics g) {
    super.paintComponent(g);
    g.setColor(lc);
    g.drawOval(0,0,getWidth()-1,getHeight()-1);
    g.setColor(fc);
    g.fillOval(0,0,getWidth()-1,getHeight()-1);

我的结果是一个黄色填充的椭圆形,周围有一条红线。但是,红线看起来像是在黄色部分的下面,因此它并不是一条清晰的红线,一直环绕着椭圆形。

我希望这条线在椭圆周围一直完全可见。

1 个答案:

答案 0 :(得分:1)

也许先绘制填充物然后绘制轮廓?

public void paintComponent(java.awt.Graphics g) {
    super.paintComponent(g);
    g.setColor(fc);
    g.fillOval(0,0,getWidth()-1,getHeight()-1);
    g.setColor(lc);
    g.drawOval(0,0,getWidth()-1,getHeight()-1);

然后轮廓应与填充重叠