JavaTM Platform
Standard Ed. 6

javax.swing
클래스 InputVerifier

java.lang.Object 
  상위를 확장 javax.swing.InputVerifier


public abstract class InputVerifier
extends Object

이 클래스의 목적은, 클라이언트가 텍스트 필드와 GUI 를 사용해, 순조로운 포커스 네비게이션을 실시할 수 있도록(듯이) 지원하는 것입니다. 이러한 GUI 에서는, 사용자가 텍스트 필드 이외의 개소로 옮기기 전에, 사용자가 입력한 텍스트가 유효한가 어떤가 즉 적절한 형식인지를 확인할 필요가 있습니다. 이것을 실시하려면 , 클라이언트가 InputVerifier 의 서브 클래스를 생성해,JComponentsetInputVerifier 메소드를 사용해, 입력의 검증을 실시하는 JComponent 에 서브 클래스의 인스턴스를 접속합니다. 포커스를 요구하는 다른 Swing 컴퍼넌트에 포커스를 이동하기 전에, 입력 검증자의 shouldYieldFocus 메소드가 불려 갑니다. 메소드가 true 를 돌려주었을 경우에만 포커스가 이동됩니다.

다음의 예에서는 2 개의 텍스트 필드가 있어, 최초의 필드에서는, 사용자로부터 캐릭터 라인 「pass」가 입력되는 것을 기다리고 있습니다. 그 캐릭터 라인이 최초의 텍스트 필드에 입력되면(자), 사용자는, 2 번째의 필드를 클릭하는지, Tab 를 누르는 것에 의해 2 번째의 텍스트 필드에 진행될 수가 있습니다. 다만, 최초의 텍스트 필드에 다른 캐릭터 라인을 입력하면(자), 사용자는 2 번째의 텍스트 필드에 포커스를 이동할 수가 없습니다.

 import java.awt. *;
 import java.util. *;
 import java.awt.event. *;
 import javax.swing. *;
 
 // This program demonstrates the use of the Swing InputVerifier class.
 // // It creates two text fields; the first of the text fields expects the
 // // string "pass" as input, and will allow focus to advance out of it
 // only after that string is typed in by the user.

 public class VerifierTest extends JFrame {
     public VerifierTest() {
         JTextField tf1 = new JTextField ("Type \"pass\" here");
           getContentPane(). add (tf1, BorderLayout.NORTH);
           tf1.setInputVerifier(new PassVerifier());
 
           JTextField tf2 = new JTextField ("TextField2");
           getContentPane(). add (tf2, BorderLayout.SOUTH);
 
           WindowListener l = new WindowAdapter() {
               public void windowClosing(WindowEvent e) { 
                   System.exit (0); 
               }
           };
           addWindowListener(l);
     }
 
     class PassVerifier extends InputVerifier {
         public boolean verify(JComponent input) {
               JTextField tf =(JTextField) input;
               return "pass". equals(tf.getText());
         }
     }
 
     public static void main (String [] args) {
         Frame f =new VerifierTest ();
           f.pack();
           f.setVisible(true);
     }
 }
 

도입된 버젼:
1.3

생성자 의 개요
InputVerifier ()
           
 
메소드의 개요
 boolean shouldYieldFocus (JComponent  input)
          verify(input) 를 호출해 입력이 유효한 것을 확인합니다.
abstract  boolean verify (JComponent  input)
          JComponent 의 입력이 유효한가 어떤가를 확인합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

InputVerifier

public InputVerifier()
메소드의 상세

verify

public abstract boolean verify(JComponent  input)
JComponent 의 입력이 유효한가 어떤가를 확인합니다. 이 메소드에는 부작용은 없습니다. 인수의 입력 상태를 나타내는 boolean 형을 돌려줍니다.

파라미터:
input - 검증하는 JComponent
반환값:
유효한 경우는 true, 무효인 경우는 false
관련 항목:
JComponent.setInputVerifier(javax.swing.InputVerifier) , JComponent.getInputVerifier()

shouldYieldFocus

public boolean shouldYieldFocus(JComponent  input)
verify(input) 를 호출해 입력이 유효한 것을 확인합니다. 이 메소드에는 부작용이 있습니다. 특히 이 메소드가 불려 가는 것은, 사용자가 인수 컴퍼넌트로부터 이 윈도우에 있는 다른 Swing 컴퍼넌트에 포커스를 진행시키려고 했을 때입니다. 이 메소드가 true 를 돌려주면(자), 포커스는 정상적으로 이동합니다. false 를 돌려주면(자), 포커스는 그 인수 컴퍼넌트에 머무릅니다.

파라미터:
input - 검증하는 JComponent
반환값:
유효한 경우는 true, 무효인 경우는 false
관련 항목:
JComponent.setInputVerifier(javax.swing.InputVerifier) , JComponent.getInputVerifier()

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.