|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.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
,在無效時返回 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 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。