我已经提出了这个申请:
例如当我在计数器JLabel(pointsAvailable)为19时单击清除按钮时,计数器JLabel会按预期变为空白,但是当我再次开始添加点时,它会从开始时设置的19而不是40开始。我想让它重新设置为40而不是让它变成空白
清除按钮的代码
private void JButtonActionPerformed(java.awt.event.ActionEvent evt) {
speedPoints.setText("");
attackPoints.setText("");
defencePoints.setText("");
powerPoints.setText("");
agilityPoints.setText("");
focusPoints.setText("");
availablePoints.setText("");
}
Jlabel计数器代码
public class addingPointsUI extends javax.swing.JFrame {
int pointsAvailable=40;
int speed=0;
int power=0;
int focus=0;
int agility=0;
int defence=0;
int attack=0;
按钮代码+/-:允许我添加或减少值“示例电源 - 按钮”
private void powerMinusActionPerformed(java.awt.event.ActionEvent evt) {
if (power > 0 ){
if (pointsAvailable <= 0) {
JOptionPane.showMessageDialog(null, "You are out of available points");
return;
}
power = power - 1;
pointsAvailable = pointsAvailable +1;
availablePoints.setText(String.valueOf(pointsAvailable));
powerPoints.setText(String.valueOf(power));
}else {
JOptionPane.showMessageDialog(null,"You cannot take anymore points from Power");
}
}
感谢您的回复。
答案 0 :(得分:1)
JSpinner
与SpinnerNumberModel
一起使用。更改模型的值。组件将更新,进一步的更改将对模型的当前值起作用。
答案 1 :(得分:0)
我可以快速想到两个解决方案: 1.在清除按钮的事件处理程序中包括以下内容:
private void JButtonActionPerformed(ActionEvent evt){
...
pointsAvailable=40;
speed=0;
power=0;
focus=0;
agility=0;
defence=0;
attack=0;
}
这将重置您的所有统计信息。 2.或者,您可以向每个添加或减去统计信息的按钮的侦听器添加if语句,以检查特定统计信息是否为空。例如,对于速度按钮,代码看起来像这样:
if (speedPoints.getText() == ""){
pointsAvailable += speed;
speed = 0;
}
答案 2 :(得分:0)
在google上找到我自己的解决方案:
private void ClearActionPerformed(java.awt.event.ActionEvent evt) {
speedPoints.setText(String.valueOf(0));
powerPoints.setText(String.valueOf(0));
agilityPoints.setText(String.valueOf(0));
defencePoints.setText(String.valueOf(0));
focusPoints.setText(String.valueOf(0));
attackPoints.setText(String.valueOf(0));
availablePoints.setText(String.valueOf(40));
}
完美运作