• 2016.9.22小程序


    制作日志
    实现步骤:
    a、制作一个日志类(LogObj),该类提供一个记录日志的方法
    public void writeLog(String info){}
    该方法要求记录用户登陆信息。
    b、创建目录log,用于存放日志文件。创建文件流以追加方式写入文件,以当前日期的年月日做文件名。文件名格式为:2011-12-05.txt
    c、创建一个登陆类,书写GUI界面。利用事件要求用户输入用户名和密码,如果登陆成功则写入日志。“张三在 15:32:30 登陆系统。”。如果登陆失败,则写入“非法用户张三在 15:32:30 企图登陆系统”

    1、日志类(LogObj)

     1 import java.io.File;
     2 import java.io.FileWriter;
     3 import java.io.IOException;
     4 import java.io.Writer;
     5 import java.text.SimpleDateFormat;
     6 import java.util.Date;
     7 
     8 public class LogObj {
     9     private static SimpleDateFormat dateNow = new SimpleDateFormat("yyyy-MM-dd");
    10     public static void writeLog(String info){
    11         Writer w = null ;
    12         String dateTxt = dateNow.format(new Date ());
    13     
    14          try {
    15               File f = new File("log");
    16               if (f.exists() == false){//判断目录是否存在,如果不存在则新建目录
    17                   f.mkdirs();
    18               }
    19             w = new FileWriter("log/"+dateTxt+".txt",true);
    20             w.write(info+"
    ");
    21         } catch (Exception e) {
    22             e.printStackTrace();
    23         }finally {
    24             try {
    25                 w.close();
    26             } catch (IOException e) {
    27                 e.printStackTrace();
    28             }
    29         }
    30     }
    31 }

    2、登录窗体

     1 import java.awt.event.ActionEvent;
     2 import java.awt.event.ActionListener;
     3 import java.text.SimpleDateFormat;
     4 import java.util.Date;
     5 
     6 import javax.swing.JFrame;
     7 import javax.swing.JOptionPane;
     8 
     9 import com.lovo.netCRM.component.LovoButton;
    10 import com.lovo.netCRM.component.LovoTxt;
    11 
    12 public class LoginFrame extends JFrame{
    13     private LovoTxt userName = new LovoTxt("用户名", 100, 100, this);
    14     private LovoTxt userPwd = new LovoTxt("密码", 100, 150, this);
    15     private SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss");
    16     public LoginFrame (){
    17         this.setLayout(null);
    18         LovoButton loginButton = new LovoButton("登录", 200, 220, this);
    19         loginButton.addActionListener(new ActionListener() {
    20             @Override
    21             public void actionPerformed(ActionEvent arg0) {
    22                 String timeTxt = time.format(new Date ());
    23                 if ("张三".equals(userName.getText()) && "111".equals(userPwd.getText())){
    24                     JOptionPane.showMessageDialog(null, "登录成功");
    25                     LogObj.writeLog(userName.getText()+"在   "+timeTxt+"登录系统");
    26                 }else{
    27                     JOptionPane.showMessageDialog(null, "登录失败");
    28                     LogObj.writeLog(userName.getText()+"在   "+timeTxt+"企图登录系统");
    29                 }
    30             }
    31         });
    32         
    33         this.setSize(500,400);
    34         this.setVisible(true);
    35         this.setDefaultCloseOperation(3);
    36         this.setLocationRelativeTo(null);
    37     }
    38     
    39     public static void main(String[] args) {
    40         new LoginFrame();
    41     }
    42 
    43 }
  • 相关阅读:
    指定时间的月初和月末一天的写法
    EF写distinct
    服务的调试和安装
    EF写INNER JOIN 链接
    BZOJ 1825: [JSOI2010]蔬菜庆典
    P4171 [JSOI2010]满汉全席
    Educational Codeforces Round 71 (Rated for Div. 2) Solution
    P4292 [WC2010]重建计划
    P3724 [AH2017/HNOI2017]大佬
    P5504 [JSOI2011]柠檬
  • 原文地址:https://www.cnblogs.com/zzyytt/p/5921580.html
Copyright © 2020-2023  润新知