|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.swing.InputVerifier
public abstract class InputVerifier
이 클래스의 목적은, 클라이언트가 텍스트 필드와 GUI 를 사용해, 순조로운 포커스 네비게이션을 실시할 수 있도록(듯이) 지원하는 것입니다. 이러한 GUI 에서는, 사용자가 텍스트 필드 이외의 개소로 옮기기 전에, 사용자가 입력한 텍스트가 유효한가 어떤가 즉 적절한 형식인지를 확인할 필요가 있습니다. 이것을 실시하려면 , 클라이언트가 InputVerifier
의 서브 클래스를 생성해,JComponent
의 setInputVerifier
메소드를 사용해, 입력의 검증을 실시하는 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); } }
생성자 의 개요 | |
---|---|
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 |
생성자 의 상세 |
---|
public InputVerifier()
메소드의 상세 |
---|
public abstract boolean verify(JComponent input)
input
- 검증하는 JComponent
true
, 무효인 경우는 false
JComponent.setInputVerifier(javax.swing.InputVerifier)
,
JComponent.getInputVerifier()
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 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.