//package proyect; // import java.io.*; import java.net.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.text.*; import java.net.*; import java.io.*; import java.lang.String.*; import java.awt.Toolkit.*; import javax.swing.border.*; import java.awt.geom.*; import java.awt.Graphics2D.*; /** * *

Title:Lista registros

*

Description: Clase principal que permite crear la ianterfaz de trabajo y mandar mails

* @author Rodrigo Loyola && Gustavo Valdes * @version 1.0 */ public class ListaRegistros extends JFrame implements ActionListener { /** * genera */ public ListaRegistros() { super("SECRET@RIA VIRTUAL"); lap = 0; totalLaps = 1; usuarioLabel = new JLabel("NOMBRE"); mailpLabel = new JLabel("MAIL ORIGEN"); maildLabel = new JLabel("MAIL DESTINO"); header = new JLabel("SECRETARIA VIRTUAL 1.0"); Date today = new Date(); JLabel result; SimpleDateFormat formatter = new SimpleDateFormat("dd MMMMM yyyy"); String dateString = formatter.format(today); result = new JLabel(dateString); result.setForeground(Color.red); result.setText(dateString); usuario = new JTextField[10]; mailp = new JTextField[10]; mail = new JTextField[10]; consult = new JButton[10]; update = new JButton[10]; delete = new JButton[10]; for (int i = 0; i < 10; i++) { usuario[i] = new JTextField(); mailp[i] = new JTextField(); mail[i] = new JTextField(); consult[i] = new JButton("Ver"); update[i] = new JButton("Mod"); delete[i] = new JButton("Borrar"); consult[i].addActionListener(this); update[i].addActionListener(this); delete[i].addActionListener(this); consult[i].setIcon(new ImageIcon(getClass().getResource("./images/ver.jpg"))); update[i].setIcon(new ImageIcon(getClass().getResource("./images/editar.jpg"))); delete[i].setIcon(new ImageIcon(getClass().getResource("./images/borrar.jpg"))); } addButton = new JButton("Agregar"); backButton = new JButton("Anteriores"); nextButton = new JButton("Siguientes"); repButton = new JButton("Reportes"); closeButton = new JButton("Salir"); addButton.addActionListener(this); backButton.addActionListener(this); nextButton.addActionListener(this); repButton.addActionListener(this); closeButton.addActionListener(this); addButton.setIcon(new ImageIcon(getClass().getResource("./images/agregar.jpg"))); backButton.setIcon(new ImageIcon(getClass().getResource("./images/anterior.jpg"))); nextButton.setIcon(new ImageIcon(getClass().getResource("./images/siguiente.jpg"))); repButton.setIcon(new ImageIcon(getClass().getResource("./images/reporte.jpg"))); closeButton.setIcon(new ImageIcon(getClass().getResource("./images/salir.jpg"))); JPanel contentPane = new JPanel(); BorderLayout borderLayout = new BorderLayout(); contentPane.setLayout(borderLayout); JPanel northPanel = new JPanel(); GridLayout northLayout = new GridLayout(3, 9, 1, 1); northPanel.setLayout(northLayout); JPanel eastPanel = new JPanel(); GridLayout eastLayout = new GridLayout(11, 3, 10, 10); eastPanel.setLayout(eastLayout); JPanel southPanel = new JPanel(); GridLayout southLayout = new GridLayout(2, 5, 1, 1); southPanel.setLayout(southLayout); JPanel centerPanel = new JPanel(); GridLayout centerLayout = new GridLayout(11, 3, 10, 10); centerPanel.setLayout(centerLayout); northPanel.add(new JLabel("Fecha actual:")); northPanel.add(result); centerPanel.add(usuarioLabel); centerPanel.add(mailpLabel); centerPanel.add(maildLabel); eastPanel.add(new JLabel("")); eastPanel.add(new JLabel("")); eastPanel.add(new JLabel("")); eastPanel.add(new JLabel("")); for (int i = 0; i < 10; i++) { centerPanel.add(usuario[i]); centerPanel.add(mailp[i]); centerPanel.add(mail[i]); eastPanel.add(new JLabel("")); eastPanel.add(consult[i]); eastPanel.add(update[i]); eastPanel.add(delete[i]); } southPanel.add(new JLabel("")); southPanel.add(new JLabel("")); southPanel.add(new JLabel("")); southPanel.add(new JLabel("")); southPanel.add(new JLabel("")); southPanel.add(new JLabel("")); southPanel.add(new JLabel("")); southPanel.add(new JLabel("")); southPanel.add(addButton); southPanel.add(backButton); southPanel.add(nextButton); southPanel.add(repButton); southPanel.add(closeButton); southPanel.add(new JLabel("")); this.setContentPane(contentPane); this.getContentPane().add(northPanel, BorderLayout.NORTH); this.getContentPane().add(eastPanel, BorderLayout.EAST); this.getContentPane().add(southPanel, BorderLayout.SOUTH); this.getContentPane().add(centerPanel, BorderLayout.CENTER); this.setSize(750, 500); this.setVisible(true); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); loadRegisters(); } /** * limpia los casillas dde texto */ public void clearTextFields() { for (int i = 0; i < 10; i++) { usuario[i].setText(""); mailp[i].setText(""); mail[i].setText(""); } } /** * carga los registro a las casillas */ public void loadRegisters() { ABC abc = new ABC("agenda.dat"); Hashtable agenda = abc.readAgenda(); int numReg = agenda.size(); totalLaps = numReg / 10; int residuo = numReg % 10; if (residuo > 0) { totalLaps += 1; } Enumeration e = agenda.elements(); for (int j = 0; j < lap; j++) { for (int z = 0; z < 10; z++) { e.nextElement(); } } int i = 0; while (e.hasMoreElements() && i < 10) { Evento evento = (Evento) (e.nextElement()); usuario[i].setText(evento.getUsuario()); mailp[i].setText(evento.getMailp()); mail[i].setText(evento.getMaild()); /* i++; } */ Date hoy= new Date(); iDia = hoy.getDate(); iAnno = hoy.getYear(); iMes = hoy.getMonth(); tempdia = Integer.parseInt(evento.getDia()); tempAnno = Integer.parseInt(evento.getAnno()); tempMes = Integer.parseInt(evento.getMes()); tempAntes = Integer.parseInt(evento.getAntes()); Date datetemp = new Date(tempAnno - 1900, tempMes - 1, tempdia - tempAntes); setmail1= datetemp.getDate(); setmail2= datetemp.getMonth(); setmail3= datetemp.getYear(); System.out.println("" + hoy ); System.out.println("" + datetemp ); System.out.println("" + tempAntes); System.out.println("" + setmail); // Timer timer = new Timer(100000,this); // timer.start(); if( setmail1==iDia && setmail2==iMes && setmail3==iAnno ) { try { Socket s = new Socket("mateo.elo.utfsm.cl", 25); out = new PrintWriter(s.getOutputStream()); in = new BufferedReader(new InputStreamReader(s.getInputStream())); String hostName = InetAddress.getLocalHost().getHostName(); send(null); send("HELO " +hostName); send("MAIL FROM: " + evento.getMailp()); send("RCPT TO: " + evento.getMaild()); send("DATA"); send( "" + evento.getMensaje()); // out.println(evento.getMensaje()+"\r"); send("."); send("QUIT"); send("QUIT"); // System.out.println(null); System.out.println("HELO " +hostName); System.out.println("MAIL FROM: " + evento.getMailp()); System.out.println("RCPT TO: " + evento.getMaild()); System.out.println("DATA"); System.out.println( "" + evento.getMensaje()); out.println(evento.getMensaje()+"\r"); s.close(); s.close(); //una vez que lo manda lo borra ABC bbb = new ABC("agenda.dat"); String key = usuario[i].getText() + "-" + mailp[i].getText(); Evento chao = bbb.getEvento(key); bbb.deleteEvento(key); clearTextFields(); loadRegisters(); } catch (IOException exception) { // response.append("Error: " + exception); } } // sendMail(); i++; } } public void actionPerformed(ActionEvent e) { JButton source = (JButton) (e.getSource()); if (source.equals(closeButton)) { //this.setVisible(false); System.exit(0); } else if (source.equals(addButton)) { Prueba altas = new Prueba(); } else if (source.equals(repButton)) { Reportes reportes = new Reportes(); } else if (source.equals(backButton)) { lap--; if (lap < 0) { lap = totalLaps - 1; } clearTextFields(); loadRegisters(); } else if (source.equals(nextButton)) { lap++; if (lap >= totalLaps) { lap = 0; } clearTextFields(); loadRegisters(); } else { for (int i = 0; i < 10; i++) { ABC abc = new ABC("agenda.dat"); String key = usuario[i].getText() + "-" + mailp[i].getText(); Evento evento = abc.getEvento(key); if (source.equals(consult[i])) { Consulta consulta = new Consulta(evento); } else if (source.equals(update[i])) { UpdateData updateData = new UpdateData(evento); } else if (source.equals(delete[i])) { abc.deleteEvento(key); clearTextFields(); loadRegisters(); } } } } /** * permite enviar las lineas del smtp * @param s String es el string a enviar */ public void send(String s) //throws IOException // { if (s != null) { //response.append(s + "\n"); out.println(s+"\r"); out.flush(); // String line; // if ((line = in.readLine()) != null) // String line = in.readLine(); // response.append(line + "\n"); } /** * el metodo principal q permite lanzar el programa * @param args String[]no se ocupa por ahora */ public static void main(String[] args) { ListaRegistros lr = new ListaRegistros(); } private int lap; private int totalLaps; private JTextField[] usuario; private JTextField[] mailp; // private JTextField[] maild; private JTextField[] mail; private JLabel usuarioLabel; private JLabel mailpLabel; private JLabel maildLabel; private JButton[] delete; private JButton[] update; private JButton[] consult; private JButton addButton; private JButton backButton; private JButton nextButton; private JButton repButton; private JButton closeButton; private JLabel header; private BufferedReader in; private PrintWriter out; private JTextField from; private JTextField fecha; private JTextField to; private JTextField smtpServer; private JTextArea message; private JTextArea response; private int iDia; private int iMes; private int iAnno; private int tempdia; //int tempdia; int tempMes; int tempAnno; int tempdiaAnt; int tmp; int setmail; int setmail1; int setmail2; int setmail3; int tempAntes; }