2012-01-28 3 views
-1

get average에 JTextField를 사용하고 있습니다. 평균은 0부터 100까지 시작해야합니다. 따라서 텍스트 필드는 0에서 100까지만 액세스 할 수 있습니다 .101을 지정하면 값이 의미하지 않습니다. 이 문제에 대한 조건을 설정하려면 textfield.how에 추가 하시겠습니까?JTextField는 조건에 따라 값을 얻습니다.

+0

질문을 이해할 수 없지만 0과 100 또는 1과 101을 연결해야합니까? – Russell

+0

계산 ('평균')이 질문에 영향을 미치는가? 텍스트 입력을 0에서 100 사이의 정수로 구문 분석 할 수있는 값으로 제한하는 방법을 묻고 있습니까? –

+0

해당 텍스트 필드 0,1,2,3, ... 최대 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 객체입니다. 당신이 그것에 숫자 유형을 넣어하려는 경우

,이 같은 뭔가를해야 (의 플로트 가정 해 봅시다) :이 날 프로그래밍에 대한 자세한 질문을 할 수있는 충분한 사소한

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

숫자 값을 허용하는 것이 아니라 입력 값을 방지하는 것입니다. –

관련 문제