|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.swing.InputVerifier
public abstract class InputVerifier
此類別的用途是通過帶文本欄位的 GUI 說明客戶端支持串流暢的焦點導航。在允許使用者導航到文本欄位以外之前,這類別 GUI 常常需要確保使用者輸入的文本是有效的(例如,文本具有正確的格式)。為做到這一點,客戶端要使用 JComponent 的 setInputVerifier 方法創建 InputVerifier 的子類別,並將其子類別的實例附加到想要驗證其輸入的 JComponent 中。在將焦點轉移到另一個請求它的 Swing 元件之前,要調用輸入驗證器的 shouldYieldFocus 方法。只在該方法返回 true 時才轉移焦點。
以下範例有兩個文本欄位,其中第一個欄位期望使用者輸入字元串 "pass"。如果在第一個文本欄位中輸入該字元串,那麼使用者可以通過在第二個文本欄位上單擊或按下 TAB 前進到第二個文本欄位。不過,如果將其他字元串輸入到第一個文本欄位中,則使用者無法將焦點轉移到第二個文本欄位。
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 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。