Всем привет! Мне нужно написать программку которая будет запускаться вместе со входом пользователя в систему, что то вроде дополнительной аутентификации. Выскакиевает окно которое просит ввести имя, после чего сверяет его со списком существующих, и если оно присутствует в списке пишет время в файл.
Я незнаю как сделать 1 - что бы програмка записывала время выхода из системы пользователя (когда он нжал выход из системы или завершение работы) 2 - приоретет програмки что бы она не давала пользоваться ни чем(что то вроде программы вымагателя). Подскажите пожалуйста, или натолкните на мысль
Вот то что я смог сделать
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
public class Program extends JFrame {
private JButton button = new JButton("OK");
private JTextField input = new JTextField("", 100);
private JLabel label = new JLabel("INPUT:");
public Program() {
super("AUDIT");
this.setBounds(100, 100, 250, 100);
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Container container = this.getContentPane();
container.setLayout(new GridLayout(3, 2));
container.add(label);
container.add(input);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
onButton(getList());
setExtendedState(JFrame.ICONIFIED);
setVisible(false);
}
});
container.add(button);
}
public void onButton(List<String> list) {
try {
FileWriter writer = new FileWriter("data/log.txt", true);
String str = input.getText();
if (list.contains(str)) {
writer.write(str + " " + LocalDateTime.now() + "\n");
writer.flush();
writer.close();
} else if (!list.contains(str)) {
JOptionPane.showMessageDialog(null, "Вас нет в списке", " Ошибка ", JOptionPane.ERROR_MESSAGE);
}
} catch (IOException exception) {
System.out.println(exception.getMessage());
}
}
private List<String> getList() {
List<String> list = new ArrayList<>();
try {
BufferedReader reader = new BufferedReader(new FileReader("data/list"));
while (reader.ready()) {
list.add(reader.readLine());
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
return list;
}
}
public class Main {
public static void main(String[] args){
Program program = new Program();
program.setVisible(true);
}
}