zoukankan      html  css  js  c++  java
  • 2016.9.20小程序--1

    在员工管理的GUI练习中加入数据验证。也就是在添加对象进数组之前,先作数据合法性的验证,数据合法再作添加。

    姓名:2个以上的字母或汉字

    性别:必须是男或女

    年龄:必须为数字

    电话:131518开始的11位数字 或者  028-99823345

    1、员工类

     1 public class Staff {
     2     private String name ;
     3     private int age ;
     4     private String sex ;
     5     private String tel ;
     6     
     7 
     8     
     9     public String getName() {
    10         return name;
    11     }
    12     public void setName(String name) {
    13         this.name = name;
    14     }
    15     public int getAge() {
    16         return age;
    17     }
    18     public void setAge(int age) {
    19         this.age = age;
    20     }
    21     public String getSex() {
    22         return sex;
    23     }
    24     public void setSex(String sex) {
    25         this.sex = sex;
    26     }
    27     public String getTel() {
    28         return tel;
    29     }
    30     public void setTel(String tel) {
    31         this.tel = tel;
    32     }
    33     
    34 }

     2、窗体

      1 import java.awt.event.ActionEvent;
      2 import java.awt.event.ActionListener;
      3 
      4 import javax.swing.JFrame;
      5 import javax.swing.JOptionPane;
      6 
      7 import JLabelAndJButton.MyButton;
      8 import JLabelAndJButton.MyTxt;
      9 
     10 public class MainJFrame extends JFrame{
     11     private  MyTxt workName = new MyTxt("姓名", 60, 40, this);
     12     private MyTxt workAge = new MyTxt("年龄", 60, 100, this);
     13     private MyTxt workSex = new MyTxt("性别", 60, 160, this);
     14     private MyTxt workTel = new MyTxt("电话", 60, 220, this);
     15     
     16     private MyButton addButton = new MyButton("添加", 40, 280, this);
     17     
     18     static int num = 0;
     19     public static Staff [] workers = new Staff[2];
     20     
     21     public MainJFrame(){
     22         this.setTitle("我的窗体");
     23         this.setLayout(null);
     24          MyButton showButton = new MyButton("显示", 140, 280, this);
     25          MyButton findButton = new MyButton("查找", 240, 280, this);
     26          
     27         /**添加*/
     28         addButton.addActionListener(new ActionListener() {
     29             
     30             @Override
     31             public void actionPerformed(ActionEvent arg0) {
     32                 addnum ();
     33             }
     34         });
     35         /**显示*/
     36         showButton.addActionListener(new ActionListener() {
     37             @Override
     38             public void actionPerformed(ActionEvent e) {
     39                 shownum();
     40             }
     41         });
     42         /**查找*/
     43         findButton.addActionListener(new ActionListener() {
     44             @Override
     45             public void actionPerformed(ActionEvent e) {
     46                 findnum();
     47             }
     48         });
     49         
     50         this.setSize(400, 400);
     51         this.setVisible(true);
     52         this.setDefaultCloseOperation(3);
     53         this.setLocationRelativeTo(null);
     54     
     55     }
     56     /**添加方法*/
     57     public void addnum (){
     58         
     59         String info = "";
     60         if(workName.getText().matches("[a-zA-Z\u4e00-\u9fa5]{2,}") == false){
     61             info += "姓名必须是2位以上的字母或汉字
    ";
     62         }
     63         if(workAge.getText().matches("[0-9]{1,2}")== false){
     64             info += "年龄必须是数字
    ";
     65         }
     66         if(workSex.getText().matches("(男|女)")== false){
     67             info += "性别必须是男或女
    ";
     68         }
     69         if(workTel.getText().matches("1(3|5|8)[0-9]{9}|[0][0-9]{2,3}-[0-9]{8}")== false){
     70             info += "电话必须是13、15、18开始的11位数字 或者  028-99823345
    ";
     71         }
     72         if (info != ""){
     73             JOptionPane.showMessageDialog(null, info);
     74             return;
     75         }
     76         Staff worker = new Staff();
     77         worker.setName(workName.getText());
     78         worker.setAge(Integer.parseInt(workAge.getText()));
     79         worker.setSex(workSex.getText());
     80         worker.setTel(workTel.getText());
     81         workers[num] = worker;
     82         num++;
     83         JOptionPane.showMessageDialog(null, "添加成功");
     84         if (num == workers.length){
     85             addButton.setEnabled(false);
     86         }
     87         workName.setText("");
     88         workAge.setText("");
     89         workSex.setText("");
     90         workTel.setText("");
     91     }
     92     /**显示方法*/
     93     public void shownum (){
     94         String s = "姓名     "+"年龄     "+"性别     "+"电话
    ";
     95         for(int i = 0 ;i <num ;i++){
     96             s+= workers[i].getName()+ "         " + workers[i].getAge()+ "         " + 
     97                     workers[i].getSex()+ "      " + workers[i].getTel()+"
    ";
     98         }
     99         JOptionPane.showMessageDialog(null, s);
    100     }
    101     /**查找方法*/
    102     public void findnum(){
    103         int m = -1;
    104         
    105         for(int i = 0;i< num;i++){
    106             if((workName.getText()).equals(workers[i].getName())){
    107                     m=i;
    108             }
    109         }
    110         
    111         if( m ==-1){
    112             JOptionPane.showMessageDialog(null, "找不到此人");
    113         }else {
    114             workAge.setText(workers[m].getAge()+"");
    115             workSex.setText(workers[m].getSex());
    116             workTel.setText(workers[m].getTel());
    117         }
    118 
    119     }
    120     
    121     
    122     
    123     public static void main(String[] args) {
    124         MainJFrame meun = new MainJFrame();
    125 
    126     }
    127 
    128 }
  • 相关阅读:
    python 类函数
    scala 排序
    php基础-面向对象
    PHP基础-常用的数组相关处理函数
    PHP基础-PHP中预定义的超全局数组
    PHP基础-数组
    装饰器
    Python3.x 文件操作练习
    Python3.x 文件操作
    Python3 内置函数
  • 原文地址:https://www.cnblogs.com/zzyytt/p/5897824.html
Copyright © 2011-2022 走看看