Java 绘制圆的自定义标签

Java 绘制圆的自定义标签,java,Java,我想要一个绕着它画一个圈的JLabel。我已经有了一些代码,但圆圈没有画出来,我在这里做错了什么吗 public class TowerMarker extends JLabel { private int x, y, id; private ImageIcon ic; private String ql; public TowerMarker(int id, int x, int y, ImageIcon ic, String ql) {

我想要一个绕着它画一个圈的JLabel。我已经有了一些代码,但圆圈没有画出来,我在这里做错了什么吗

public class TowerMarker extends JLabel
{
    private int x, y, id;
    private ImageIcon ic;
    private String ql;

    public TowerMarker(int id, int x, int y, ImageIcon ic, String ql)
    {
        this.x = x;
        this.y = y;
        this.ic = ic;
        this.ql = ql;
        setBounds(x, y, 40, 85);
        setIcon(ic);
        setToolTipText("QL: "+ql);
        updateUI();

    }

    @Override
    public int getX()
    {
            return x;
    }

    @Override
    public int getY()
    {
        return y;
    }

    public String getQL()
    {
        return ql;
    }

    public ImageIcon getImageIcon()
    {
        return ic;
    }

    public int getID()
    {
        return id;
    }

    @Override
    public String toString()
    {
        return x+":"+y+":"+ql;
    }

    @Override
    public void paintComponent(Graphics g)
    {
        g.setColor(Color.red);

        g.drawOval(x, y, 20, 20);

        ui.update(g, this);
    }
}
调用super.paintcomponent

而不是使用油漆组件

public void paint( Graphics g )

我尝试了这两种方法,在放在JLabel映射上后,我没有看到标签周围出现任何东西。自定义绘制是通过重写paintComponent方法完成的。使用update…删除代码。。。。这是在使用AWT时可以完成的,但在Swing中不需要。张贴你的文章,说明问题所在。
public void paint( Graphics g )