值意外地在applet中更改

时间:2016-09-30 18:45:18

标签: java applet

为什么每次用applet打开页面时变量的值都会改变?

我覆盖了paint方法:

private int osY=14;

@Override
public void paint(Graphics g) 
{

    Graphics2D g2 = (Graphics2D) g;

    g.drawLine(50,100,50,360);
    for(int j=100;j<=360; j=j+20)
    {
        g2.setStroke(new BasicStroke(2));
        g2.drawLine(50,j,60,j);
        g2.drawString(String.valueOf(osY), 5, j+3);
        g2.setStroke (new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0, new float[]{1}, 0));
        if(j<360) g2.drawLine(60,j,410,j);
        osY--;
    }
}

我想为每个垂直阴影标记添加一个标签,从14到0.但不是从14(14,13,12,...)向下,它从-14(-14,-15,... )。

对我来说更重要的第二个问题就是每次打开这个网站时都会出现意外更改这些值的问题。因此,当我第一次打开applet时,它会变为-14,..- 27,但每次下一次变得越来越少(-28,..- 41)等等。

为什么?

1 个答案:

答案 0 :(得分:0)

问题在于变量的范围。你是关键字。

g2.drawString(String.valueOf(this.osY), 5, j+3);

this.osY--;