2016-09-30 49 views
1

为什么每当我用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)等等。

为什么?

回答

0

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

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

this.osY--; 
+0

不幸的是,它没有改变任何东西。 – Jawegiel