Text 를 이용하여 입력 값을 받는데 숫자만 입력되도록 제한하고 싶다면?

 

이럴 때 사용하는 리스너가 바로 VerifyListener 입니다.

 

VerifyListener 리스너의 verifyText () 메소드에서 text 를  검사하고

 

doit 속성에 가능(true) 또는 불가능(false) 여부를 설정해 줍니다.

 

가능(true) 이라고 설정하면 화면에 입력한 값이 그대로 나타나고

 

불가능(false) 이라고 설정하면 화면에 입력한 값이 나타나지 않습니다.

(즉 입력 이벤트 자체가 사라지게 되는 것이죠.)

 

추가적으로 숫자만 입력되게 하기 위해서 String 클래스의 matches() 메소드를 이용해 보았습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
import org.eclipse.swt.events.VerifyEvent;
import org.eclipse.swt.events.VerifyListener;
import org.eclipse.swt.widgets.Text;
 
 
Text text = new Text(parent, SWT.NONE);
text.setText("10");
text.addVerifyListener(new VerifyListener(){
    public void verifyText(VerifyEvent e) {
        e.doit = e.text.matches("[0-9]*");
    }
});
 
cs

'IT > SWT' 카테고리의 다른 글

ESC 키 이벤트에 대한 예외처리  (0) 2015.02.24

Posted by maze1008
,