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

我重写了绘画方法:

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),依此类推。

为什么?

最佳答案

问题出在变量的范围。您这个关键字。

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

this.osY--;

关于java - 小程序中的值意外更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39798157/

10-13 05:07