java - JLabel 不更新得分

标签 java jframe jlabel

我正在尝试在 Greenfoot 中制作一个简单的游戏。我的其他一切都运行良好,但是,它没有更新点。

int pointsScored = 0;
JFrame frame = new JFrame("Points Scored");
JLabel label = new JLabel("Points Scored " + pointsScored);

public void act() 
{
    label.setPreferredSize(new Dimension(100, 100));
    frame.getContentPane().add(label, BorderLayout.CENTER);
    frame.pack();
    if (atWorldEdge()) {
       turn(180);
       pointsScored++;
       if (pointsScored != 0) {
           frame.setVisible(true);
        }
    }
    move();
}    

最佳答案

要更改标签中的文本,您需要使用:

pointsScored++;
label.setText( "Points Scored " + pointsScored );

更改变量的值不会更新先前使用该变量的任何其他表达式。

关于java - JLabel 不更新得分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33834196/

相关文章:

java - 在java应用程序中使用数据库

java - Apache Tika 无法检测短句中的语言。为什么?

java - 覆盖按钮背景

java - 关闭嵌入在主 JFrame 中的特定 JFrame

java - 使用 pack() 将 JFrame 缩放到适当大小时出现问题

java - 第一个数据库桌面应用程序

java - 重新验证 JPanel 时闪烁

java - 将动态变量发送为 ftl 格式

java - 将 JLabel 的二维数组打印到 GridLayout

java - 如何从java中的文本字段获取数据并将其显示到第二个表单上的jlabel中