2016-12-03 22 views
1

小さな「クリッカー」を開発していますが、ボタンを押すと1+スコアが得られるはずです。リロードする方法はありますか? HERESに私のコード:(ClickEvent)JFrameまたはJLabelをリロードする

public class event implements ActionListener { 
@Override 
public void actionPerformed(ActionEvent e) { 
    System.out.println("PRESS"); 
    game.timesClicked.add(1); 
    points.setText(game.seePoints); 
} 

}

そして、私のJFrameがある:

public class game extends JFrame 
{ 
public static JButton buttonStart; 
JButton buttonCredits; 
JButton buttonBack; 
JButton buttonLeave; 

public static JFrame panel = new game(); 

public static ArrayList<Integer> timesClicked = new ArrayList<Integer>(); 

public static JLabel label1; 
public static JLabel points; 
public static String seePoints = "Deine Knöpfe: " + timesClicked.size(); 
public game() 
{ 

    setLayout(null); 
    label1 = new JLabel("ButtonClicker"); 
    points = new JLabel(seePoints); 

    points.setFont(new Font("Tahoma", Font.BOLD, 15)); 
    points.setBounds(0, 0, 200, 200); 

    label1.setFont(new Font("Tahoma", Font.BOLD, 50)); 
    label1.setBounds(315, 50, 500, 200); 

    event e1 = new event(); 

    JButton b = new JButton("KNOPF"); 
    b.setBackground(new Color(96, 140, 247)); 
    b.setForeground(Color.WHITE); 
    b.setFocusPainted(false); 
    b.setFont(new Font("Tahoma", Font.BOLD, 15)); 
    b.setBounds(402, 380, 180, 50); 


    b.addActionListener(e1); 

    add(b); 
    add(label1); 
    add(points); 

} 
} 

(私の悪い英語のために申し訳ありませんが)

+1

私は、場所の上の 'public static'変数は一般的にプログラミングの習慣が良くないことに注意してください。詳細については、「カプセル化」を参照してください。 –

答えて

1
public static String seePoints = "Deine Knöpfe: " + timesClicked.size(); 

これが唯一でありますあなたのプログラムの始めに一度呼び出されます。 timesClickedに追加すると、seePointsは再計算されません。

この変数をクリックするたびに正しい値に設定する必要があります。

関連する問題