2017-05-16 6 views
1

私は、このアプリケーションを作っています再びそれは開始時に設定された19から40ではなく始まります。私はそれが40にリセットするために作るだけではなくクリアボタンクリアボタンはカウンタJLabelをブランクにしますが、リセットしません。カウンターJLabelの(pointsAvailable)が19であるとき</p> <p><img src="https://i.stack.imgur.com/tgUOV.png" alt="image"></p> <p>は、例えば、私はクリアボタンをクリックし、その後カウンタJLabelのは、私がポイントの追加を開始しかしとき、期待通りに空白になる:

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; 

コードのために空白

コードを作成したいと思いますボタン+/-の場合:値の追加または減少を許可する "example power - button"

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

私はすぐに2つの解決策を考えることができます。これは、あなたの統計のすべてをリセットします

private void JButtonActionPerformed(ActionEvent evt){ 
    ... 
    pointsAvailable=40; 
    speed=0; 
    power=0; 
    focus=0; 
    agility=0; 
    defence=0; 
    attack=0; 
} 

:あなたのクリアボタンのイベントハンドラで 1.以下のものを含みます。 2.または、特定の統計が空であるかどうかをチェックする統計を追加または減算するすべてのボタンのリスナーにifステートメントを追加できます。例えば、スピードボタンのコードはそうのようになりますGoogleで自分の解決策が見つかり

if (speedPoints.getText() == ""){ 
    pointsAvailable += speed; 
    speed = 0; 
} 
+0

コードは正しいですか?変数1がspeedPoints JLabelにあるため、ソリューション1は何も行いません。解決策2は、 "==または!="メッセージを使って文字列を比較します。 –

+0

変数をグローバルにします。現在のタイプの重要な変数をグローバルにする必要があり、文字列をString.compareTo(anotherString)と比較できます。 –

+0

変数をグローバルにする方法は? –

0

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)); 
}          

作品完全

1

SpinnerNumberModelJSpinnerを使用してください。モデルの値を変更します。コンポーネントが更新され、さらに変更がモデルの現在の値に作用します。

関連する問題

 関連する問題