2016-10-07 3 views
-1

私は、次の画像のようにJSpinnerの番号モデルを持っている:JSpinnerの値を変数に永続的な変更不可能な値として保存するにはどうすればよいですか?

JSpinner

私は今

public void stateChanged(ChangeEvent arg0) { 
    doublewidth =(Double) spinnerwidth.getModel().getValue(); 
} 

たJSpinnerの値として、ダブル変数、例えば幅で示した値を保存幅がdoublewidth = 60に保存されていますが、例として幅を300に変更した場合、doublewidth = 300となりますが、そのようなことは起こりたくありません。

JSpinnerに何が起こっても、倍幅で60の値を保存します。

お願いします。

+0

あなたはあなたがJynXXedRabbitFoot @お返事のための任意のより多くの –

答えて

2

あなたがdoubleWidthを初期化し、それはまだ-1に等しい場合にのみ、それを調整し、あなたのstateChangedメソッド内で、その後

doubleWidth = -1 

に設定します。

if (doubleWith == -1){ 
    doublewidth =(Double) spinnerwidthto.getModel().getValue(); 
} 
+0

おかげで、それを編集することができないことのようにするJSpinner無効にすることができます。あなたは、もし私が、ダブル幅= 60で保存された値を持つ(幅)のJSpinnerが70のような新しい値で再び変更されることを望みたいのであれば教えてください。古い値。なぜなら私は変数で後で何らかの計算をしたいからです。ありがとう – Fashtaki

+1

@Fashtakiこれが元の質問に答えた場合は、それをそのまま受け入れてください。新しい質問については、何回新しい値を保存する必要がありますか?ユーザーは、元の入力を調整するだけでなく、新しい情報を追加していることをどのように知っていますか? 2幅のスピナーを持つ方が理にかなっていますか? 2番目の変数を設定するif == -1にelseを確実に追加することはできますが、アプローチを考え直す価値はあります。上記写真の – JynXXedRabbitFoot

+0

にはTrack Jspinnerがあります。私はTrack = 1のためにLength、heigtとwidthのいくつかのパラメータをchosseして、変数に保存されたすべての値をとり、Track = 2のためにLength、Heigt、およびwidthの別の値をchoseして変数に保存します。最後に両方のトラック値を取得し、その変数でいくつかの計算を行い、それをXMLファイルに保存します。 (ダブル幅1 = 60、ダブル幅2 = 70)が必要ですが、もし私がjspinerを70倍に変更すれば1と等しい= 70 – Fashtaki

関連する問題