重新加载JFrame或JLabel

时间:2016-12-03 11:26:51

标签: java swing jframe

我正在开发一个小“点击器”但是,如果我按下按钮,我应该获得1+分数,它不起作用!有没有办法重装或其他什么? 继承我的代码:( ClickEvent)

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 个答案:

答案 0 :(得分:1)

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

只在程序开始时调用一次。当您添加到timesClicked时,它不会重新计算seePoints

每次单击时,您都需要将此变量设置为正确的值。