1
프로젝트에 많은 모듈이 있습니다. 모든 모듈에는 텍스트 상자가 있습니다.SWT 텍스트의 문자열 길이를 확인하십시오.
입력 (알파벳)의 유효성을 검사하고 싶습니다. 이를 위해 저는 공통된 방법을 써야합니다.
몇 가지 예가 필요합니다.
미리 감사드립니다.
프로젝트에 많은 모듈이 있습니다. 모든 모듈에는 텍스트 상자가 있습니다.SWT 텍스트의 문자열 길이를 확인하십시오.
입력 (알파벳)의 유효성을 검사하고 싶습니다. 이를 위해 저는 공통된 방법을 써야합니다.
몇 가지 예가 필요합니다.
미리 감사드립니다.
Text
에 SWT.Verify
을 청취 한 다음 상태를 확인하십시오. 주어진 입력을 막으려면 e.doit = false
을 실행하십시오. 그냥 작은 노트
public static void main(String[] args)
{
Display display = new Display();
Shell shell = new Shell();
shell.setText("StackOverflow");
shell.setLayout(new GridLayout(1, false));
final Text text = new Text(shell, SWT.BORDER);
text.addListener(SWT.Verify, new Listener()
{
@Override
public void handleEvent(Event e)
{
String oldS = text.getText();
String newS = oldS.substring(0, e.start) + e.text + oldS.substring(e.end);
if(newS.length() > 10)
e.doit = false;
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
: 당신이 다음 SWT.Modify' 충분'을 듣고, 입력을 방지하기 위해 필요하지 않은 경우 다음
는Text
에서 최대 10 개 문자를 허용하는 예입니다. 이벤트는 텍스트가 변경된 후에 전송됩니다. –고맙다 .. 그 좋은 일하는 k. – afu
입력란이 10 자 이상인 msg 상자를 표시하려고하면 msg 상자가 표시됩니다. 문자열 oldS = textL.getText(); \t \t \t \t 문자열 newS = oldS.substring (0, e.start) + e.text + oldS.substring (e.end); \t \t \t \t 경우 (newS.length()> 길이) \t \t \t \t \t e.doit = TRUE; \t \t \t \t MessageBox msg1 = 새 MessageBox (셸, SWT.ICON_WARNING); \t \t \t \t msg1.setMessage ("유효한 문자열 입력"); \t \t \t \t msg1.open(); 위의 코드는 msg 상자를 표시하면서 각각의 모든 입력 문자를 입력합니다. 이것을 위해 무엇을 바꿀 것인가? – afu