java 文本框监听

在一个文本框里输入身份证号满18位时,另外两个框显示姓名与性别;不满足18位时弹出信息框提示,这要怎么做... 在一个文本框里输入身份证号 满18位时,另外两个框显示姓名与性别;
不满足18位时弹出信息框提示,
这要怎么做
展开
 我来答
截竹为萧
推荐于2017-11-29 · TA获得超过155个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:197万
展开全部

//简单的帮你写了基本功能 如下:

import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TestJT  extends JPanel{
 public TestJT() {
  
  setLayout(null);
  JLabel label=new JLabel("请输入省份证:");
  label.setOpaque(true);
  label.setBounds(50, 30,100, 25);
  add(label);
  
  final JTextField tf1=new JTextField();
  tf1.setOpaque(true);
  tf1.setBounds(160,30,80,30);
  add(tf1);
  
  tf1.addFocusListener(new FocusListener() {
   
   @Override
   public void focusLost(FocusEvent e) {
    if( tf1.getText().trim().length()!=18){
     JOptionPane.showMessageDialog(null, "输入的身份证号码不是18位");
     return;
    }
   }
   @Override
   public void focusGained(FocusEvent e) {
    // TODO Auto-generated method stub  
   }
  });
 
  JLabel labe2=new JLabel("请输入名字:");
  labe2.setOpaque(true);
  labe2.setBounds(50, 70,100, 25);
  add(labe2);
  
  final JTextField tf2=new JTextField();
  tf2.setOpaque(true);
  tf2.setBounds(160,70,80,30);
  add(tf2);
  
  JLabel labe3=new JLabel("请输入性别:");
  labe3.setOpaque(true);
  labe3.setBounds(50, 110,100, 25);
  add(labe3);
  final JTextField tf3=new JTextField();
  tf3.setOpaque(true);
  tf3.setBounds(160,110,80,30);
  add(tf3);
 }
 public static void main(String[] args) {
  JFrame frame=new JFrame();
  JPanel p=   new TestJT();
  frame.add(p);
  frame.setVisible(true);
  frame.setSize(500, 500);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }  
}
Zoujy1022
2013-08-28 · TA获得超过1121个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:630万
展开全部
很简单 只要在文本框上面加一个 actionlistener,然后每次输入字符的时候 判断一下 字符串长度
。如果满足18位,就调用 另外两个框的 setText 方法,吧姓名和性别set进去
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2013-08-28 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
额 ? 你就是要满足18位么?身份证可是很难校验的肋

正则表达式哦 

Pattern  match  类

你的文本框要:1  失去焦点事件触发  2 内容改变事件触发

就够了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式