http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/InputVerifier.html
 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.   

    添加一个焦点监听器
    负责监听JTextFiled的焦点
    如果焦点离开时,不符合输入条件
    让焦点再次回到JTextFiled不就行了吗?
      

  2.   

    我是想实现这样的功能:
    焦点落在JTextField上,如果焦点离开而JTextField中的输入值为空或者不符合格式的话会弹出对话框提示,并且焦点无法离开。
      

  3.   

    JTextField上add一个keylistener,和一个mouse的listener,然后,当消息触发的时候verify一下,错误的话,再request focus.
      

  4.   

    我的JTextField是家JTable中的, 所以request focus 是不好用的
      

  5.   

    我也遇到过这种情况,就是不知道如何让JTable中的cell获得焦点,帮你顶