Advertisement
Guest User

Untitled

a guest
May 9th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 37.58 KB | None | 0 0
  1.  
  2. import javax.crypto.NullCipher;
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.BorderLayout;
  9. import java.awt.Container;
  10. import javax.swing.JScrollPane;
  11. import javax.swing.ScrollPaneConstants;
  12. import javax.swing.JLabel;
  13. import javax.swing.JTextField;
  14. import javax.swing.JTable;
  15. import javax.swing.Box;
  16. import javax.swing.JTabbedPane;
  17. import javax.swing.JFrame;
  18. import javax.swing.JButton;
  19. import java.sql.*;
  20. import java.io.File;
  21. import java.sql.Connection;
  22. import java.sql.DriverManager;
  23. import java.sql.ResultSet;
  24. import java.sql.SQLException;
  25. import java.sql.Statement;
  26. import java.sql.ResultSetMetaData;
  27. import java.sql.ResultSet;
  28. import javax.sql.*;
  29. import java.util.Vector;
  30. import java.util.EventListener;
  31. import java.awt.List;
  32. import java.lang.String;
  33. import java.lang.Integer;
  34. import java.lang.Boolean;
  35. import java.lang.Object;
  36. import java.awt.SystemTray;
  37. import java.awt.TrayIcon;
  38. import java.awt.ScrollPane;
  39. import java.awt.TextArea;
  40. import javax.swing.*;
  41. import javax.swing.JScrollPane;
  42. import javax.swing.table.AbstractTableModel;
  43. import javax.swing.ListSelectionModel;
  44. import javax.swing.event.ListSelectionEvent;
  45. import javax.swing.event.ListSelectionListener;
  46. import java.awt.event.*;
  47. import java.util.Random;
  48. import java.util.EventListener;
  49. import snoozesoft.systray4j.*;
  50. import snoozesoft.systray4j.SysTrayMenuListener;
  51. import snoozesoft.systray4j.SysTrayMenuEvent;
  52. import snoozesoft.systray4j.SysTrayMenuAdapter;
  53. //import agenda.MyThread;
  54. public class Main extends JFrame implements ActionListener, ListSelectionListener, SysTrayMenuListener {
  55.  
  56.     private static Main Janela = new Main();
  57.     private JTabbedPane tabbedPane;
  58.     private JPanel Consult;
  59.     private JPanel Change;
  60.     private JLabel Name_show;
  61.     private JTextField Name;
  62.     private JLabel Date;
  63.     private JTextField DD;
  64.     private JTextField MM;
  65.     private JTextField AAAA;
  66.     private JLabel Time;
  67.     private JTextField HH;
  68.     private JTextField MMT;
  69.     private JLabel TODO;
  70.     private BorderLayout layout;
  71.     private BorderLayout inside_up;
  72.     private BorderLayout inside_center;
  73.     private BorderLayout inside_down;
  74.     private BorderLayout inside_all;
  75.     private BorderLayout Consult_insert;
  76.     private BorderLayout Change_insert;
  77.     private JLabel cutdate1;
  78.     private JLabel cutdate2;
  79.     private JLabel cuttime;
  80.     private JButton insert;
  81.     private JButton consult_action;
  82.     private JButton change_action;
  83.     private JButton delete;
  84.     private BorderLayout Delet_insert;
  85.     private JTable resultTable;
  86.     private JTextArea comments;
  87.     private static Integer idDelect = 0;
  88.     protected String url = "jdbc:mysql://127.0.0.1/agenda";
  89.     protected String user = "root";
  90.     protected String password = "root";
  91.     //////////////////////////////
  92.     //////Insert Get////////
  93.     private String name_get_insert = new String();
  94.     private String DD_get_insert = new String();
  95.     private String MM_get_insert = new String();
  96.     private String AAAA_get_insert = new String();
  97.     private String HH_get_insert = new String();
  98.     private String MMT_get_insert = new String();
  99.     private String comments_get_insert = new String();
  100.     //////   END  ///////////////
  101.     ////////////////////////////
  102.     //////////////////////////////
  103.     //////database results////////
  104.     private JPanel Delet;
  105.     private ResultSet Get_values;
  106.     private ResultSetMetaData metaData;
  107.     private int size;
  108.     private Object[][] line;
  109.     private Vector<Pessoa> cols;
  110.     private String name;
  111.     private JScrollPane scrollPane;
  112.     private JScrollPane scrollPanel;
  113.     private JScrollPane scrollPanel2;
  114.     private JTable tabela;
  115.     private JTable tabela_change;
  116.     private JTable tabela_consult;
  117.     private int viewRow;
  118.     private int viewRow_change;
  119.     private int viewRow_Consult;
  120.     private ModeloTabela modelo;
  121.     private Vector<Pessoa> vetor;
  122.     private String dados[][];
  123.     private String[] coluna;
  124.     private String[] fields;
  125.     private String[] new_data;
  126.     private String convert;
  127.     //////   END  ///////////////
  128.     ////////////////////////////
  129.     //////////////////////////////
  130.     //////////Recive Var/////////
  131.     private String name_get;
  132.     private String DD_get;
  133.     private String MM_get;
  134.     private String YY_get;
  135.     private String HHT_get;
  136.     private String MMT_get;
  137.     private String TODO_get;
  138.     private static Integer idSelect = 0;
  139.     //////   END  ///////////////
  140.     ////////////////////////////
  141.     //////////////////////////////
  142.     //////////Change Var//////////
  143.     private String[] new_data_change;
  144.     private String[] new_data_update;
  145.     private JTextArea new_todo_textarea;
  146.     private JButton new_todo_add;
  147.     private Main Janela2;
  148.     private ResultSet Get_to_update;
  149.     private JFrame Change_to_do;
  150.     private String String_Message_Dialog = new String();
  151.     private String new_todo_textarea_get = new String();
  152.     private String new_data_change_text_area = new String();
  153.     private boolean Check_Change_Update;
  154.     private String Report_erro;
  155.     private String erro_update_report;
  156.     //////   END  ///////////////
  157.     ////////////////////////////
  158.     private SysTrayMenuIcon iconeNormal = new SysTrayMenuIcon(this.getClass().getResource("icone.ico"));
  159.     private SysTrayMenu Tray = new SysTrayMenu(iconeNormal);
  160.     private SysTrayMenuItem sair = new SysTrayMenuItem("Sair");
  161.    
  162.  
  163.     public void tray_area() {
  164.     // iconeNormal.addSysTrayMenuListener(this);
  165.     }
  166.  
  167.     public void valueChanged(ListSelectionEvent arg0) {
  168.         viewRow = tabela.getSelectedRow();
  169.         viewRow_change = tabela_change.getSelectedRow();
  170.         viewRow_Consult = tabela_consult.getSelectedRow();
  171.  
  172.  
  173.     }
  174.  
  175.     public class ModeloTabela extends AbstractTableModel {
  176.  
  177.         private static final long serialVersionUID = 1L;
  178.         private String[] nomesColunas;
  179.         private Object[][] dados;
  180.  
  181.         public Object[][] getDados() {
  182.             return dados;
  183.         }
  184.  
  185.         public void setDados(Object[][] dados) {
  186.             this.dados = dados;
  187.         }
  188.  
  189.         public String[] getNomesColunas() {
  190.             return nomesColunas;
  191.         }
  192.  
  193.         public void setNomesColunas(String[] nomesColunas) {
  194.             this.nomesColunas = nomesColunas;
  195.         }
  196.  
  197.         public int getColumnCount() {
  198.             return nomesColunas.length;
  199.         }
  200.  
  201.         public int getRowCount() {
  202.             return dados.length;
  203.         }
  204.  
  205.         public String getColumnName(int col) {
  206.             return nomesColunas[col];
  207.         }
  208.  
  209.         public Object getValueAt(int row, int col) {
  210.             return dados[row][col];
  211.         }
  212.  
  213.         public Class getColumnClass(int c) {
  214.             return getValueAt(0, c).getClass();
  215.         }
  216.     }
  217.  
  218.     public String delete(int number) {
  219.         String Return_delete_message_erro = new String();
  220.         try {
  221.             String classpath = "mysql-connector-java-5.0.4-bin.jar";
  222.             Class.forName("com.mysql.jdbc.Driver");
  223.             Connection con;
  224.             con = DriverManager.getConnection(url, user, password);
  225.             Statement st = con.createStatement();
  226.             st.execute("DELETE FROM agenda WHERE ID='" + number + "'");
  227.         } catch (ClassNotFoundException ex) {
  228.             Return_delete_message_erro += ("Can't found this BD connect JAR");
  229.         } catch (Exception e) {
  230.  
  231.             Return_delete_message_erro += ("Can't Connect" + " " + e.getMessage());
  232.         }
  233.         return Return_delete_message_erro;
  234.     }
  235.  
  236.     public String recive(int number_recive) {
  237.         String Return_recive_message_erro = new String();
  238.         try {
  239.             ResultSet Get_to_data = null;
  240.             String classpath = "mysql-connector-java-5.0.4-bin.jar";
  241.             Class.forName("com.mysql.jdbc.Driver");
  242.             Connection con;
  243.             con = DriverManager.getConnection(url, user, password);
  244.             Statement st = con.createStatement();
  245.             Get_to_data = st.executeQuery("Select * FROM agenda WHERE ID='" + number_recive + "'");
  246.             while (Get_to_data.next()) {
  247.                 name_get = (Get_to_data.getString("NAME"));
  248.                 DD_get = (Get_to_data.getString("DD"));
  249.                 MM_get = (Get_to_data.getString("MM"));
  250.                 YY_get = (Get_to_data.getString("AAAA"));
  251.                 HHT_get = (Get_to_data.getString("HH"));
  252.                 MMT_get = (Get_to_data.getString("MMT"));
  253.                 TODO_get = (Get_to_data.getString("TODO"));
  254.             }
  255.         } catch (ClassNotFoundException ex) {
  256.             Return_recive_message_erro += ("Can't found this BD connect JAR");
  257.         } catch (Exception e) {
  258.  
  259.             Return_recive_message_erro += ("Can't Connect" + " " + e.getMessage());
  260.         }
  261.         return Return_recive_message_erro;
  262.     }
  263.  
  264.     public String change_execute(int number_change_execute) {
  265.         String Return_change_message_erro = new String();
  266.         try {
  267.             ResultSet Get_to_data = null;
  268.             String classpath = "mysql-connector-java-5.0.4-bin.jar";
  269.             Class.forName("com.mysql.jdbc.Driver");
  270.             Connection con;
  271.             con = DriverManager.getConnection(url, user, password);
  272.             Statement st = con.createStatement();
  273.             st.executeUpdate("UPDATE agenda set NAME = '" + new_data_change[0] + "' WHERE ID='" + number_change_execute + "'");
  274.             st.executeUpdate("UPDATE agenda set DD = '" + new_data_change[1] + "' WHERE ID='" + number_change_execute + "'");
  275.             st.executeUpdate("UPDATE agenda set MM = '" + new_data_change[2] + "' WHERE ID='" + number_change_execute + "'");
  276.             st.executeUpdate("UPDATE agenda set AAAA = '" + new_data_change[3] + "' WHERE ID='" + number_change_execute + "'");
  277.             st.executeUpdate("UPDATE agenda set HH = '" + new_data_change[4] + "' WHERE ID='" + number_change_execute + "'");
  278.             st.executeUpdate("UPDATE agenda set MMT = '" + new_data_change[5] + "' WHERE ID='" + number_change_execute + "'");
  279.             st.executeUpdate("UPDATE agenda set TODO = '" + new_todo_textarea.getText().toString() + "' WHERE ID='" + number_change_execute + "'");
  280.  
  281.  
  282.         } catch (ClassNotFoundException ex) {
  283.             Return_change_message_erro += ("Can't found this BD connect JAR");
  284.         } catch (Exception e) {
  285.  
  286.             Return_change_message_erro += ("Can't Connect" + " " + e.getMessage());
  287.         }
  288.         return Return_change_message_erro;
  289.  
  290.  
  291.     }
  292.  
  293.     public static boolean verificacao(String numero) {
  294.         try {
  295.             Double.parseDouble(numero);
  296.             return true;
  297.         } catch (NumberFormatException ex) {
  298.             return false;
  299.         }
  300.     }
  301.  
  302.     public String insert_return_erro() {
  303.         //TRADUZIR PARA O INGLES
  304.         //the field day can´t have more than 2 numbers
  305.         Get_insert();
  306.         String erro_insert_report = new String();
  307.         erro_insert_report = "";
  308.         if (name_get_insert.length() == 0) {
  309.             erro_insert_report += ("O campo de name nao pode ser vazio.\n");
  310.         }
  311.         if (DD_get_insert.length() > 2) {
  312.             erro_insert_report += ("O campo de dia nao pode conter mais de dois digitos.\n");
  313.         }
  314.         if (MM_get_insert.length() > 2) {
  315.             erro_insert_report += ("O campo de mes nao pode conter mais de dois digitos.\n");
  316.         }
  317.         if (AAAA_get_insert.length() > 4) {
  318.             erro_insert_report += ("O campo de ano nao pode conter mais de quatro digitos.\n");
  319.         }
  320.         if (HH_get_insert.length() > 2) {
  321.             erro_insert_report += ("O campo de hora nao pode conter mais de dois digitos.\n");
  322.         }
  323.         if (MMT_get_insert.length() > 2) {
  324.             erro_insert_report += ("O campo de minuto nao pode conter mais de dois digitos.\n");
  325.         }
  326.  
  327.         if ((verificacao(DD_get_insert) == false) && (DD_get_insert != "")) {
  328.             erro_insert_report += ("Somente numeros no campo dia.\n");
  329.         }
  330.         if ((verificacao(MM_get_insert) == false) && (MM_get_insert != "")) {
  331.             erro_insert_report += ("Somente numeros no campo mes.\n");
  332.         }
  333.         if ((verificacao(AAAA_get_insert) == false) && (AAAA_get_insert != "")) {
  334.             erro_insert_report += ("Somente numeros no campo ano.\n");
  335.         }
  336.         if ((verificacao(HH_get_insert) == false) && (HH_get_insert != "")) {
  337.             erro_insert_report += ("Somente numeros no campo hora.\n");
  338.         }
  339.         if ((verificacao(MMT_get_insert) == false) && (MMT_get_insert != "")) {
  340.             erro_insert_report += ("Somente numeros no campo minutos.\n");
  341.         }
  342.         return erro_insert_report;
  343.     }
  344.  
  345.     public String update_return_erro(int select_update) {
  346.         //TRADUZIR PARA O INGLES
  347.         //the field day can´t have more than 2 numbers
  348.         erro_update_report = new String();
  349.         erro_update_report = "";
  350.         if ((select_update == 0) && (new_data_change[0].length() == 0)) {
  351.             erro_update_report += ("O campo de name nao pode ser vazio.\n");
  352.         }
  353.         if ((select_update == 1) && (new_data_change[1].length() > 2)) {
  354.             erro_update_report += ("O campo de dia nao pode conter mais de dois digitos.\n");
  355.         }
  356.         if ((select_update == 2) && (new_data_change[2].length() > 2)) {
  357.             erro_update_report += ("O campo de mes nao pode conter mais de dois digitos.\n");
  358.         }
  359.         if ((select_update == 3) && (new_data_change[3].length() > 4)) {
  360.             erro_update_report += ("O campo de ano nao pode conter mais de quatro digitos.\n");
  361.         }
  362.         if ((select_update == 4) && (new_data_change[4].length() > 2)) {
  363.             erro_update_report += ("O campo de hora nao pode conter mais de dois digitos.\n");
  364.         }
  365.         if ((select_update == 5) && (new_data_change[5].length() > 2)) {
  366.             erro_update_report += ("O campo de minuto nao pode conter mais de dois digitos.\n");
  367.         }
  368.         if ((select_update == 1) && (verificacao(new_data_change[1]) == false) && (new_data_change[1].length() != 0)) {
  369.             erro_update_report += ("Somente numeros no campo dia.\n");
  370.         }
  371.         if ((select_update == 2) && (verificacao(new_data_change[2]) == false) && (new_data_change[2].length() != 0)) {
  372.             erro_update_report += ("Somente numeros no campo mes.\n");
  373.         }
  374.         if ((select_update == 3) && (verificacao(new_data_change[3]) == false) && (new_data_change[3].length() != 0)) {
  375.             erro_update_report += ("Somente numeros no campo ano.\n");
  376.         }
  377.         if ((select_update == 4) && (verificacao(new_data_change[4]) == false) && (new_data_change[4].length() != 0)) {
  378.             erro_update_report += ("Somente numeros no campo hora.\n");
  379.         }
  380.         if ((select_update == 5) && (verificacao(new_data_change[5]) == false) && (new_data_change[5].length() != 0)) {
  381.             erro_update_report += ("Somente numeros no campo minutos.\n");
  382.         } else {
  383.  
  384.         }
  385.         return erro_update_report;
  386.  
  387.     }
  388.  
  389.     public void Get_insert() {
  390.         name_get_insert = Name.getText().toString();
  391.         DD_get_insert = DD.getText().toString();
  392.         if (DD_get_insert.length() == 0) {
  393.             DD_get_insert = "";
  394.         }
  395.         MM_get_insert = MM.getText().toString();
  396.         if (MM_get_insert.length() == 0) {
  397.             MM_get_insert = "";
  398.         }
  399.         AAAA_get_insert = AAAA.getText().toString();
  400.         if (AAAA_get_insert.length() == 0) {
  401.             AAAA_get_insert = "";
  402.         }
  403.         HH_get_insert = HH.getText().toString();
  404.         if (HH_get_insert.length() == 0) {
  405.             HH_get_insert = "";
  406.         }
  407.         MMT_get_insert = MMT.getText().toString();
  408.         if (MMT_get_insert.length() == 0) {
  409.             MMT_get_insert = "";
  410.         }
  411.         comments_get_insert = comments.getText().toString();
  412.     }
  413.  
  414.     public Vector<Pessoa> connect() {
  415.  
  416.         try {
  417.             String classpath = "mysql-connector-java-5.0.4-bin.jar";
  418.             Class.forName("com.mysql.jdbc.Driver");
  419.             Connection con;
  420.             con = DriverManager.getConnection(url, user, password);
  421.             Statement st = con.createStatement();
  422.             Get_values = st.executeQuery("Select * from agenda ORDER by ID");
  423.             metaData = Get_values.getMetaData();
  424.             size = metaData.getColumnCount();
  425.             cols = new Vector<Pessoa>();
  426.             while (Get_values.next()) {
  427.                 Pessoa pessoa = new Pessoa();
  428.                 pessoa.setnome(Get_values.getString("NAME"));
  429.                 pessoa.setId(Integer.parseInt(Get_values.getString("ID")));
  430.                 cols.add(pessoa);
  431.  
  432.             }
  433.  
  434.         } catch (ClassNotFoundException ex) {
  435.             System.out.println("Can't found this BD connect JAR");
  436.         } catch (Exception e) {
  437.  
  438.             System.out.println("Can't Connect" + " " + e.getMessage());
  439.         }
  440.         //connect_status = null;
  441.         return cols;
  442.     }
  443.  
  444.     public void Data_inside() {
  445.         coluna = new String[2];
  446.         coluna[0] = "Codigo";
  447.         coluna[1] = "Nome";
  448.         modelo = new ModeloTabela();
  449.  
  450.  
  451.         vetor = connect();
  452. //        dados = new String[vetor.size()][2];
  453.  
  454.         for (int i = 0; i < vetor.size(); i++) {
  455.             Pessoa pessoa = vetor.get(i);
  456.             dados[i][0] = String.valueOf(pessoa.getId());
  457.             dados[i][1] = pessoa.getnome();
  458.         }
  459.  
  460.  
  461.         modelo.setDados(dados);
  462.         modelo.setNomesColunas(coluna);
  463.  
  464.     }
  465.  
  466.     public JPanel Insert() {
  467.         layout = new BorderLayout();
  468.         inside_up = new BorderLayout();
  469.         inside_center = new BorderLayout();
  470.         inside_down = new BorderLayout();
  471.         inside_all = new BorderLayout();
  472.         BorderLayout inside_panel_all = new BorderLayout();
  473.         BorderLayout inside_data_layout = new BorderLayout();
  474.         JPanel first_tab = new JPanel();
  475.         JPanel inside_top = new JPanel();
  476.         JPanel inside_middle_date = new JPanel();
  477.         JPanel inside_middle_time = new JPanel();
  478.         JPanel inside_middle = new JPanel();
  479.         JPanel inside_data = new JPanel();
  480.         JPanel inside_data_final_panel = new JPanel();
  481.         BoxLayout inside_center_date = new BoxLayout(inside_middle_date, BoxLayout.LINE_AXIS);
  482.         BoxLayout inside_center_time = new BoxLayout(inside_middle_time, BoxLayout.LINE_AXIS);
  483.         BoxLayout inside_data_final = new BoxLayout(inside_data_final_panel, BoxLayout.X_AXIS);
  484.         JPanel inside_end = new JPanel();
  485.         JPanel inside = new JPanel();
  486.         JPanel inside_all_panel = new JPanel();
  487.         comments = new JTextArea(23, 20);
  488.         Name_show = new JLabel("Name:");
  489.         Name = new JTextField("", 15);
  490.         Date = new JLabel("Date:  ");
  491.         DD = new JTextField("", 2);
  492.         MM = new JTextField("", 2);
  493.         AAAA = new JTextField("", 4);
  494.         Time = new JLabel(" Time:  ");
  495.         HH = new JTextField("", 2);
  496.         MMT = new JTextField("", 2);
  497.         TODO = new JLabel("To do:");
  498.         cutdate1 = new JLabel("/");
  499.         cutdate2 = new JLabel("/");
  500.         cuttime = new JLabel(":");
  501.         insert = new JButton("Insert");
  502.         insert.addActionListener(this);
  503.         JScrollPane comments_scrollpane = new JScrollPane(comments);
  504.         // Faz com que barra de rolagem horizontal não apareça  
  505.         comments_scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  506.         comments.setLineWrap(true);
  507.         layout.layoutContainer(getContentPane());
  508.         {
  509.             inside_top.setLayout(inside_up);
  510.             inside_top.add(Name_show, inside_up.WEST);
  511.             inside_top.add(Name);
  512.             inside_middle_date.setLayout(inside_center_date);
  513.             inside_middle_date.add(Date);
  514.             inside_middle_date.add(DD);
  515.             inside_middle_date.add(cutdate1);
  516.             inside_middle_date.add(MM);
  517.             inside_middle_date.add(cutdate2);
  518.             inside_middle_date.add(AAAA);
  519.             inside_middle_time.setLayout(inside_center_time);
  520.             inside_middle_time.add(Time);
  521.             inside_middle_time.add(HH);
  522.             inside_middle_time.add(cuttime);
  523.             inside_middle_time.add(MMT);
  524.             inside_end.setLayout(inside_down);
  525.             inside_end.add(TODO, inside_down.NORTH);
  526.             inside_end.add(comments_scrollpane, inside_down.CENTER);
  527.             inside_end.add(insert, inside_down.SOUTH);
  528.             inside.setLayout(inside_all);
  529.             inside_data.setLayout(inside_data_layout);
  530.             inside_data.add(inside_middle_date, inside_data_layout.WEST);
  531.             inside_data.add(inside_middle_time, inside_data_layout.EAST);
  532.             inside_data_final_panel.setLayout(inside_data_final);
  533.             inside_data_final_panel.add(inside_data);
  534.             inside_middle.setLayout(inside_center);
  535.             inside_middle.add(inside_data_final_panel, inside_center.WEST);
  536.             inside.add(inside_top, inside_all.NORTH);
  537.             inside.add(inside_middle, inside_all.CENTER);
  538.             inside.add(inside_end, inside_all.SOUTH);
  539.             inside_all_panel.setLayout(inside_panel_all);
  540.             inside_all_panel.add(inside);
  541.             //first_tab.add(inside);
  542.             ;
  543.         }
  544.         return inside_all_panel;
  545.     }
  546.  
  547.     public JPanel Consult() {
  548.         Consult = new JPanel();
  549.         Consult_insert = new BorderLayout();
  550.         Consult.setLayout(Consult_insert);
  551.         Data_inside();
  552.         tabela_consult = new JTable(modelo);
  553.         tabela_consult.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  554.         tabela_consult.getSelectionModel().addListSelectionListener(this);
  555.         scrollPane = new JScrollPane(tabela_consult);
  556.         scrollPane.setBounds(10, 80, 200, 200);// definindo o tamanho da tabela na tela
  557.  
  558.         consult_action = new JButton("Consult");
  559.         consult_action.addActionListener(this);
  560.         Consult.add(scrollPane, Consult_insert.CENTER);
  561.         Consult.add(consult_action, Consult_insert.SOUTH);
  562.  
  563.         return Consult;
  564.     }
  565.  
  566.     public JPanel Change() {
  567.         Change = new JPanel();
  568.         Change_insert = new BorderLayout();
  569.         Change.setLayout(Change_insert);
  570.  
  571.         Data_inside();
  572.         tabela_change = new JTable(modelo);
  573.         tabela_change.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  574.         tabela_change.getSelectionModel().addListSelectionListener(this);
  575.         scrollPanel2 = new JScrollPane(tabela_change);
  576.         scrollPanel2.setBounds(10, 80, 300, 200);// definindo o tamanho da tabela na tela
  577.  
  578.         change_action = new JButton("Change");
  579.         change_action.addActionListener(this);
  580.         Change.add(scrollPanel2, Change_insert.CENTER);
  581.         Change.add(change_action, Change_insert.SOUTH);
  582.         return Change;
  583.     }
  584.  
  585.     public JPanel Delet() {
  586.         Delet = new JPanel();
  587.         Delet_insert = new BorderLayout();
  588.         Delet.setLayout(Delet_insert);
  589.  
  590.         Data_inside();
  591.         tabela = new JTable(modelo);
  592.         tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  593.         tabela.getSelectionModel().addListSelectionListener(this);
  594.         scrollPanel = new JScrollPane(tabela);
  595.         scrollPanel.setBounds(10, 80, 300, 200);// definindo o tamanho da tabela na tela
  596.  
  597.         delete = new JButton("Delet");
  598.         delete.addActionListener(this);
  599.         Delet.add(scrollPanel, BorderLayout.CENTER);
  600.         Delet.add(delete, BorderLayout.SOUTH);
  601.         return Delet;
  602.     }
  603.  
  604.     public JFrame Main_Window() {
  605.  
  606.         JFrame Window_main = new JFrame();
  607.         tabbedPane = new JTabbedPane();
  608.         tabbedPane.addTab("Insert", null, Insert(), "Insert");
  609.         tabbedPane.addTab("Consult", null, Consult(), "Consult");
  610.         tabbedPane.addTab("Change", null, Change(), "Change");
  611.         tabbedPane.addTab("Delete", null, Delet(), "Delete");
  612.         Window_main.add(tabbedPane);
  613.         Window_main.addWindowListener(new WindowAdapter() {
  614.  
  615.             public void windowIconified(WindowEvent e) {
  616.             //esconderTela();
  617.             }
  618.         });
  619.         return Window_main;
  620.  
  621.     }
  622.  
  623.     public class Pessoa {
  624.  
  625.         private Integer id;
  626.         private String old_name;
  627.  
  628.         public Integer getId() {
  629.             return this.id;
  630.         }
  631.  
  632.         public String getnome() {
  633.             return this.old_name;
  634.         }
  635.  
  636.         public void setId(Integer novoId) {
  637.             id = novoId;
  638.         }
  639.  
  640.         public void setnome(String new_name) {
  641.             old_name = new_name;
  642.         }
  643.     }
  644.  
  645.     public void Refresh() {
  646.         vetor = connect();
  647.         dados = new String[vetor.size()][2];
  648.  
  649.         for (int i = 0; i < vetor.size(); i++) {
  650.             Pessoa pessoa = vetor.get(i);
  651.             dados[i][0] = String.valueOf(pessoa.getId());
  652.             dados[i][1] = pessoa.getnome();
  653.         }
  654.         modelo.setDados(dados);
  655.         tabela_change.setModel(modelo);
  656.         Change.removeAll();
  657.         Change.add(scrollPanel2, Change_insert.CENTER);
  658.         Change.add(change_action, Change_insert.SOUTH);
  659.         Change.repaint();
  660.         tabela_consult.setModel(modelo);
  661.         Consult.removeAll();
  662.         Consult.add(scrollPane, Consult_insert.CENTER);
  663.         Consult.add(consult_action, Consult_insert.SOUTH);
  664.         Consult.repaint();
  665.         Delet.removeAll();
  666.         Delet.add(scrollPanel, BorderLayout.CENTER);
  667.         Delet.add(delete, BorderLayout.SOUTH);
  668.         Delet.repaint();
  669.     }
  670.  
  671.     public void Change_data(int get_to_change) {
  672.         recive(get_to_change);
  673.         fields = new String[7];
  674.         fields[0] = "Name";
  675.         fields[1] = "Day";
  676.         fields[2] = "Month";
  677.         fields[3] = "Year";
  678.         fields[4] = "Hour";
  679.         fields[5] = "Minute";
  680.         fields[6] = "To do";
  681.  
  682.  
  683.         new_data = new String[7];
  684.         new_data[0] = name_get;
  685.         new_data[1] = DD_get;
  686.         new_data[2] = MM_get;
  687.         new_data[3] = YY_get;
  688.         new_data[4] = HHT_get;
  689.         new_data[5] = MMT_get;
  690.         new_data[6] = TODO_get;
  691.  
  692.  
  693.     }
  694.  
  695.     public JPanel New_data_todo(String get_line) {
  696.         int get_line_convert = Integer.parseInt(get_line);
  697.         JPanel new_todo = new JPanel();
  698.         JLabel new_todo_label = new JLabel("New To do:");
  699.         new_todo_textarea = new JTextArea(8, 20);
  700.         new_todo_textarea.setText(new_data[6]);
  701.         BorderLayout new_todo_layout = new BorderLayout();
  702.         new_todo.setLayout(new_todo_layout);
  703.         new_todo_add = new JButton("Ok");
  704.         new_todo_add.addActionListener(this);
  705.         new_todo.add(new_todo_label, new_todo_layout.NORTH);
  706.         new_todo.add((new JScrollPane(new_todo_textarea)), new_todo_layout.CENTER);
  707.         new_todo.add(new_todo_add, new_todo_layout.SOUTH);
  708.         pack();
  709.         return new_todo;
  710.  
  711.  
  712.     }
  713.  
  714.     public String Change_check() {
  715.         String_Message_Dialog = "";
  716.         for (int Change_check_count = 0; Change_check_count <= 5; Change_check_count++) {
  717.             if (new_data_change[Change_check_count].length() == 0) {
  718.             } else if ((new_data[Change_check_count].trim().toString().equals(new_data_change[Change_check_count].trim().toString()))) {
  719.  
  720.             } else {
  721.                 String_Message_Dialog += (" |" + new_data[Change_check_count] + "| to |" + new_data_change[Change_check_count] + "|\n");
  722.             }
  723.         }
  724.  
  725.         if ((new_todo_textarea.getText().toString().trim().equals(new_data[6].toString().trim()))) {
  726.  
  727.         } else if ((new_todo_textarea.getText().toString().length() == 0)) {
  728.  
  729.         } else {
  730.             String_Message_Dialog += (new_data[6].trim() + " to\n " + new_todo_textarea.getText().toString().trim() + "\n");
  731.         }
  732.         if (String_Message_Dialog == "") {
  733.             String_Message_Dialog = "No Changes";
  734.         }
  735.         return String_Message_Dialog;
  736.     }
  737.  
  738.     public void New_Update_data() {
  739.         new_data_update = new String[7];
  740.         for (int new_data_update_int = 0; new_data_update_int <= 5; new_data_update_int++) {
  741.             new_data_update[new_data_update_int] = new_data_change[new_data_update_int];
  742.         }
  743.         new_data_change[6] = new_todo_textarea.getText().toString();
  744.     }
  745.  
  746.     public void actionPerformed(ActionEvent evt) {
  747.         Object source = evt.getSource();
  748.         if (source == insert) {
  749.             if (insert_return_erro().length() > 0) {
  750.                 JOptionPane.showMessageDialog(null, insert_return_erro());
  751.             } else {
  752.                 JOptionPane.showMessageDialog(null,
  753.                         "CREATED :\n\n" +
  754.                         "Name: " + Name.getText() + "\n" +
  755.                         "Day: " + DD.getText() + "\n" +
  756.                         "Mounth: " + MM.getText() + "\n" +
  757.                         "Year: " + AAAA.getText() + "\n" +
  758.                         "Hour: " + HH.getText() + "\n" +
  759.                         "Minutes: " + MMT.getText() + "\n" +
  760.                         "To do:: " + comments.getText() + "\n");
  761.                 try {
  762.                     String classpath = "mysql-connector-java-5.0.4-bin.jar";
  763.                     Class.forName("com.mysql.jdbc.Driver");
  764.                     Connection con;
  765.                     con = DriverManager.getConnection(url, user, password);
  766.                     Statement st = con.createStatement();
  767.  
  768.                     st.executeUpdate("INSERT INTO agenda (" +
  769.                             "NAME, DD, MM, AAAA, " +
  770.                             "HH, MMT, TODO" + ") VALUES ('" +
  771.                             Name.getText() + "', '" +
  772.                             DD.getText() + "', '" +
  773.                             MM.getText() + "', '" +
  774.                             AAAA.getText() + "', '" +
  775.                             HH.getText() + "', '" +
  776.                             MMT.getText() + "', '" +
  777.                             comments.getText() + "')");
  778.                     System.out.println("Done");
  779.                     st.close();
  780.  
  781.                 } catch (ClassNotFoundException ex) {
  782.                     System.out.println("Can't found this BD connect JAR");
  783.                 } catch (Exception e) {
  784.  
  785.                     System.out.println("Can't Connect" + " " + e.getMessage());
  786.                 }
  787.             }
  788.             Refresh();
  789.         } else if (source == delete) {
  790.             if (viewRow < 0) {
  791.                 JOptionPane.showMessageDialog(null, "Please, select one row in delete table");
  792.             } else {
  793.                 convert = (String) tabela.getValueAt(viewRow, 0);
  794.                 idDelect = Integer.parseInt(convert);
  795.             }
  796.             int Delete_option = JOptionPane.showConfirmDialog(null, "Delete: " + "Id: " + tabela.getValueAt(viewRow, 0) + " Name: " + tabela.getValueAt(viewRow, 1) + "?", "Delete Window", 0);
  797.             if (Delete_option == 0) {
  798.                 delete(idDelect);
  799.                 if (delete(idDelect).length() != 0) {
  800.                     JOptionPane.showMessageDialog(null, delete(idDelect));
  801.                 }
  802.                 vetor = connect();
  803.                 dados = new String[vetor.size()][2];
  804.  
  805.                 for (int i = 0; i < vetor.size(); i++) {
  806.                     Pessoa pessoa = vetor.get(i);
  807.                     dados[i][0] = String.valueOf(pessoa.getId());
  808.                     dados[i][1] = pessoa.getnome();
  809.                 }
  810.                 Refresh();
  811.  
  812.             }
  813.  
  814.  
  815.         } else if (source == change_action) {
  816.             if (viewRow_change < 0) {
  817.                 JOptionPane.showMessageDialog(null, "Please, select one row in change table");
  818.  
  819.             } else {
  820.                 convert = (String) tabela_change.getValueAt(viewRow_change, 0);
  821.                 idSelect = Integer.parseInt(convert);
  822.                 Change_data(idSelect);
  823.                 new_data_change = new String[7];
  824.                 for (int new_data_change_count = 0; new_data_change_count <= 5; new_data_change_count++) {
  825.                     new_data_change[new_data_change_count] = (JOptionPane.showInputDialog(("Change : \n" + fields[new_data_change_count] + " : " + new_data[new_data_change_count] + ".\nTo : " + fields[new_data_change_count] + ":"), new_data[new_data_change_count]));
  826.                     new_data_change[new_data_change_count] = new_data_change[new_data_change_count].toString();
  827.                     new_data_change[new_data_change_count] = String.format(new_data_change[new_data_change_count]);
  828.  
  829.                     boolean Check_Change_Update = true;
  830.                     while (Check_Change_Update == true) {
  831.                         Check_Change_Update = false;
  832.                         if (update_return_erro(new_data_change_count).length() == 0) {
  833.  
  834.                         } else {
  835.                             JOptionPane.showMessageDialog(null, update_return_erro(new_data_change_count));
  836.                             new_data_change[new_data_change_count] = (JOptionPane.showInputDialog(("Change : \n" + fields[new_data_change_count] + " : " + new_data[new_data_change_count] + ".\nTo : " + fields[new_data_change_count] + ":"), new_data[new_data_change_count]));
  837.                             new_data_change[new_data_change_count] = new_data_change[new_data_change_count].toString();
  838.                             new_data_change[new_data_change_count] = String.format(new_data_change[new_data_change_count]);
  839.                             Check_Change_Update = true;
  840.                         }
  841.  
  842.                     }
  843.  
  844.  
  845.                 }
  846.  
  847.                 Change_to_do = new JFrame();
  848.                 Change_to_do.add(New_data_todo("6"));
  849.                 Change_to_do.setTitle("Change: To do");
  850.                 Change_to_do.setVisible(true);
  851.                 Change_to_do.pack();
  852.  
  853.             }
  854.             Refresh();
  855.         } else if (source == new_todo_add) {
  856.             change_execute(idSelect);
  857.             if (change_execute(idSelect).length() != 0) {
  858.                 JOptionPane.showMessageDialog(null, change_execute(idSelect));
  859.             }
  860.             JOptionPane.showMessageDialog(null, Change_check());
  861.             Change_to_do.setVisible(false);
  862.             Change_to_do.repaint();
  863.         } else if (source == consult_action) {
  864.             if (viewRow_Consult < 0) {
  865.                 JOptionPane.showMessageDialog(null, "Please, select one row in consult table");
  866.  
  867.             } else {
  868.                 convert = (String) tabela_consult.getValueAt(viewRow_Consult, 0);
  869.                 idSelect = Integer.parseInt(convert);
  870.                 Change_data(idSelect);
  871.                 JOptionPane.showMessageDialog(null,
  872.                         fields[0] + " : " + new_data[0] + "\n" +
  873.                         fields[1] + " : " + new_data[1] + "\n" +
  874.                         fields[2] + " : " + new_data[2] + "\n" +
  875.                         fields[3] + " : " + new_data[3] + "\n" +
  876.                         fields[4] + " : " + new_data[4] + "\n" +
  877.                         fields[5] + " : " + new_data[5] + "\n" +
  878.                         fields[6] + " :\n" + new_data[6] + "\n");
  879.             }
  880.             Refresh();
  881.  
  882.         }
  883.  
  884.     }
  885.  
  886.     public Main() {
  887.         super("Agenda");
  888.         connect();
  889.         tabbedPane = new JTabbedPane();
  890.         tabbedPane.addTab("Insert", null, Insert(), "Insert");
  891.         tabbedPane.addTab("Consult", null, Consult(), "Consult");
  892.         tabbedPane.addTab("Change", null, Change(), "Change");
  893.         tabbedPane.addTab("Delete", null, Delet(), "Delete");
  894.         add(tabbedPane);
  895.         this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
  896.         this.setSize(640, 480);
  897.         this.setVisible(true);
  898.         this.setResizable(false);
  899.         this.addWindowListener(new WindowAdapter() {
  900.  
  901.             public void windowIconified(WindowEvent e) {
  902.                 Janela.setVisible(false);
  903.             }
  904.         });
  905.        
  906.         // Adicionando listener ao ícone que irá para o SysTray
  907.         iconeNormal.addSysTrayMenuListener(this);
  908.         // Mensagem que será apresentada ao posicionarmos o ponteiro do mouse sobre o icone.
  909.         Tray.setToolTip("Olha eu aqui!");
  910.         // Adicionando o SysTrayMenuItem "sair" ao SysTrayMenu Tray
  911.         Tray.addItem(sair);
  912.     }
  913.    
  914.    
  915.     /*
  916.      * Métodos que devem ser implementados sempre que sua classe estender o SystrayMenuListener.
  917.      *
  918.      * Esses métodos que tratarão as ações que você fizer nos itens de menu e no ícone da barra
  919.      */
  920.    
  921.    
  922.    
  923.     /**
  924.      * Esse método é disparado toda vez que você clicar em um item de menu dentro do menu.
  925.      * @param evt
  926.      */
  927.     public void menuItemSelected(SysTrayMenuEvent evt) {
  928.         if ( ((SysTrayMenuItem)evt.getSource()).getActionCommand().equals("Sair") )
  929.             System.exit(0);
  930.     }
  931.  
  932.     /**
  933.      * Esse método é disparado toda vez que você clica UMA vez sobre o ícone no Systray
  934.      * @param evt
  935.      */
  936.     public void iconLeftClicked(SysTrayMenuEvent evt) {
  937.         JOptionPane.showMessageDialog(null, "Clicou uma vez", "1 clique...", JOptionPane.INFORMATION_MESSAGE);
  938.     }
  939.  
  940.     /**
  941.      * Esse método é disparado toda vez que você clica DUAS vez sobre o ícone no Systray
  942.      * @param evt
  943.      */    
  944.     public void iconLeftDoubleClicked(SysTrayMenuEvent evt) {
  945.         JOptionPane.showMessageDialog(null, "Clicou duas vez", "2 cliques...", JOptionPane.INFORMATION_MESSAGE);
  946.     }
  947.  
  948.     public static void main(String[] args) {
  949.         /*        MyThread thread=new MyThread();// instanciando a minha Thread
  950.         Thread t=new Thread(thread);
  951.         t.start(); */
  952.         //Main Janela = new Main();
  953.         Janela.pack();
  954.  
  955.  
  956.     }
  957. }
  958. ///TRAY ICON
  959. //SET INVISIBLE.. ADD TRAY ICON
  960. //ADD ACTIONLISTENER CLICK_INSIDE... SER VISIBLE, DESTROY TRAY ICON
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement