|
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, 무효인 경우는 falseJComponent.setInputVerifier(javax.swing.InputVerifier) ,
JComponent.getInputVerifier() public boolean shouldYieldFocus(JComponent input)
verify(input) 를 호출해 입력이 유효한 것을 확인합니다. 이 메소드에는 부작용이 있습니다. 특히 이 메소드가 불려 가는 것은, 사용자가 인수 컴퍼넌트로부터 이 윈도우에 있는 다른 Swing 컴퍼넌트에 포커스를 진행시키려고 했을 때입니다. 이 메소드가 true 를 돌려주면(자), 포커스는 정상적으로 이동합니다. false 를 돌려주면(자), 포커스는 그 인수 컴퍼넌트에 머무릅니다.
input - 검증하는 JComponent
true, 무효인 경우는 falseJComponent.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 도 참조해 주세요.