Java 绘制圆的自定义标签
我想要一个绕着它画一个圈的JLabel。我已经有了一些代码,但圆圈没有画出来,我在这里做错了什么吗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) {
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 )