Java问题与super.paintComponents(g)一起使用,它使屏幕变成打印屏幕
||
我试图用类和层次结构在Java中进行绘制。但是我的绘画区域没有得到背景颜色(定义为白色),当我单击它时,它将在绘图的jpanel区域中显示一个打印屏幕。使用super.paintComponent(g),该界面似乎可以正常显示,但是每次我只得到一分。使用super.paintComponents(g)可以在jpanel区域中打印框架。
有什么想法吗?
public class MandaDesenhar extends JPanel
{
static int x;
static int y;
private static final long serialVersionUID = 1L;
int i = 0;
public void paintComponent(Graphics g)
{
super.paintComponents(g);
if (Paint4Fun.lista.size() == 0)
return;
while (i<Paint4Fun.lista.size())
{
FormaPrimitiva forma = Paint4Fun.lista.get(i);
forma.desenha(g);
i++;
}
}
没有找到相关结果
已邀请:
1 个回复
悸翠疮武昏
方法中本地定义
,而不是在其外部定义,然后将其初始化为
。 否则,您总是只绘制列表中的新元素,而不是旧元素。 编辑: 您可以将循环更好地编写为for循环:
甚至更清楚地:
通常,总是在尽可能小的范围内(这里是方法,甚至是循环)声明变量(如此处的
)。