2012-01-28 10 views
-1

get averageにJTextFieldを使用しています。平均は0から100で始まる必要があります。テキストフィールドは0から100のみにアクセスできます。この問題の条件を設定するためにtextfield.howに追加されましたか?JTextFieldは条件に基づいて値を取得します

+0

私は実際に質問を理解することはできませんが、0と100,1または101を接続する必要がありますか? – Russell

+0

計算( '平均')は質問にも影響しますか? テキストフィールドへの入力を0から100までの整数に解析できる値に制限する方法を尋ねていますか? –

+0

私はそのテキストフィールド0,1,2,3、... up.Ipto 100に入力します。私はそのテキストフィールドに101を入力します。それは受け入れません101 – fernandas

答えて

0

検証を行うには、KeyListenerを使用する必要があります。あなたにもKeyAdapter使用することができます例

final JTextField myTextField = new JTextField(); 
myTextField.addKeyListener(new KeyListener() { 
     public void keyPressed(KeyEvent keyEvent) { 

     } 

     public void keyReleased(KeyEvent keyEvent) { 
// Here write the comparison logic 
       if (Integer.parseInt(myTextField.getText()) > 100){ 
        myTextField.setText(""); // Make it blank 
       } 
     } 

     public void keyTyped(KeyEvent keyEvent) { 
     } 
    }); 

については

。お役に立てれば。

+0

-1 KeyListenerは、検証を行うためのオプションではありません。 – kleopatra

+1

IF条件を実行できません。 – fernandas

+0

それは私の間違いです。 keyReleasedにバリデーションを入れます。私は私の答えを編集しました。 –

0

JTextFieldに表示される可視データは、java.lang.Stringオブジェクトです。あなたはそれで数値型を入れたい場合は

、あなたはこのような何かをしなければならない(のがfloatとしましょう):これは私があなたのプログラミングについて多くの質問をお願いしたいと思いますするのは十分に簡単です

JTextField tf=new JTextField(); 
float average=//get the average however you wish... 

if((average <= 100) && (average >= 0)) 
tf.setText(String.valueOf(average)); 

しかし背景。これはJTextFieldに関連する質問か、それとも実際の状態に関する質問ですか?

+0

のみ私はする必要があります0〜100のテキストフィールドに入力してください。 – fernandas

+0

数値を受け入れることではなく、入力番号を防止することです。 –

関連する問題