Java图形清晰圆弧

Java图形清晰圆弧,java,graphics,draw,paintcomponent,Java,Graphics,Draw,Paintcomponent,有没有像clearRect()这样的方法,而不是clearArc()? 我想填满所有的屏幕,除了一个圆圈,类似这样的东西: (我正在paintComponent()中执行此操作) 另外,背景是透明的试试看: import java.awt.Graphics2D; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.RoundRectangle2D; // and other stuffes

有没有像clearRect()这样的方法,而不是clearArc()? 我想填满所有的屏幕,除了一个圆圈,类似这样的东西: (我正在paintComponent()中执行此操作)

另外,背景是透明的

试试看:

import java.awt.Graphics2D;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.RoundRectangle2D;
// and other stuffes you should have already imported

@Override
public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Area area = new Area(
            new RoundRectangle2D.Double(0, 0, 200, 200, 50, 50));
    area.subtract(new Area(new Ellipse2D.Double(75, 50, 50, 50)));
    g.setColor(Color.RED);
    ((Graphics2D) g).fill(area);
}
Java教程链接:(我现在有点懒…)

试试看:

import java.awt.Graphics2D;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.RoundRectangle2D;
// and other stuffes you should have already imported

@Override
public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Area area = new Area(
            new RoundRectangle2D.Double(0, 0, 200, 200, 50, 50));
    area.subtract(new Area(new Ellipse2D.Double(75, 50, 50, 50)));
    g.setColor(Color.RED);
    ((Graphics2D) g).fill(area);
}
Java教程链接:(我现在有点懒…)


获取默认颜色,然后填充弧线()?不,我有透明背景您是否尝试将透明颜色(即
新颜色(0,0,0,0)
)与填充弧线()一起使用?我认为,这不起作用(获取默认颜色,然后填充弧线()?不,我有透明背景您是否尝试使用透明颜色(即
新颜色(0,0,0)
)使用fillArc()?我想,这行不通(谢谢,我试试这个:)谢谢,我试试这个:)