2016-09-30 5 views
1

アプレットでページを開くたびに変数の値が変わるのはなぜですか?予期せずアプレットの値が変更される

私はpaintメソッドオーバーライドします:それは私が14から0にすべての垂直ハッチマークのラベルを追加したいしかし、その代わりに14(14,13,12、...)から下方に行くの

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(-14、-15、..)になります。

私にとってより重要な第2の問題は、このウェブサイトを開くたびにこの値のトピックの予期しない変更に似ています。だから私が初めてアプレットを開いたときに-14、〜27となりますが、次回になるとそれはますます小さくなります(-28、..- 41)。

なぜですか?

答えて

0

問題は変数のスコープにあります。あなたはこれをキーワードにします。

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

this.osY--; 
+0

残念ながら、何も変更されませんでした。 – Jawegiel

関連する問題