我使用netbeans创建一个简单的点击游戏。你点击按钮赚钱。 在屏幕的顶部,我有一个jlable设置来显示播放器的平衡
balDisplay = new javax.swing.JLabel();
balDisplay.setText("Balance: ¢"+bal);
虽然当我运行它时显示的全部是“余额:¢0” 我已经设置了它,因此按钮点击事件不仅会为玩家余额增加金额,而且会在控制台中打印余额,每次点击都可以获得指定的金额,就像我设置的一样。只是标签不会显示它。 这就是我正在为鼠标点击事件做的事情
private void clickMouseClicked(java.awt.event.MouseEvent evt) {
bal = bal+100;
System.out.println(bal);
}
答案 0 :(得分:1)
setText()
立即进行评估,不会绑定到bal
即
a = 1;
b = a;
a = 2;
由于b
未更新为2的原因相同,标签的文字将不会重新计算。
解决此问题的最快方法是在balDisplay.setText("Balance: ¢"+bal);
更改bal
时添加bal
。一个更强大的解决方案就是在更新{{1}}并使标签订阅事件时触发。