【问题标题】:Painting a Oval Component however the fill is overlapping the oval line, How do I fix this?绘制一个椭圆形组件,但是填充与椭圆形线重叠,我该如何解决这个问题?
【发布时间】:2019-06-11 02:35:27
【问题描述】:

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

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

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);

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

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

【问题讨论】:

    标签: java swing awt java-2d


    【解决方案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);
    

    那么轮廓应该与填充重叠

    【讨论】:

      猜你喜欢
      • 2017-03-13
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多