Advertisement
Guest User

agendanaopronta

a guest
Feb 11th, 2018
721
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.87 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package agenda_inofx;
  7.  
  8.  
  9. import com.mysql.jdbc.PreparedStatement;
  10. import java.net.InetAddress;
  11. import java.net.NetworkInterface;
  12. import java.net.SocketException;
  13. import java.sql.Connection;
  14. import java.sql.DriverManager;
  15. import java.sql.ResultSet;
  16. import java.sql.SQLException;
  17. import java.util.Enumeration;
  18. import java.util.logging.Level;
  19. import java.util.logging.Logger;
  20. import javafx.application.Application;
  21. import javafx.beans.value.ChangeListener;
  22. import javafx.beans.value.ObservableValue;
  23. import javafx.collections.FXCollections;
  24. import javafx.collections.ObservableList;
  25. import javafx.event.ActionEvent;
  26. import javafx.event.Event;
  27. import javafx.event.EventHandler;
  28. import javafx.scene.Group;
  29. import javafx.scene.Scene;
  30. import javafx.scene.control.Button;
  31. import javafx.scene.control.Label;
  32. import javafx.scene.control.ListView;
  33. import javafx.scene.control.TextArea;
  34. import javafx.scene.control.TextField;
  35. import javafx.scene.image.Image;
  36. import javafx.scene.image.ImageView;
  37. import javafx.scene.layout.HBox;
  38. import javafx.scene.layout.StackPane;
  39. import javafx.scene.layout.VBox;
  40. import javafx.scene.paint.Color;
  41. import javafx.scene.text.Text;
  42. import javafx.stage.Stage;
  43. import org.apache.commons.mail.DefaultAuthenticator;
  44. import org.apache.commons.mail.Email;
  45. import org.apache.commons.mail.EmailException;
  46. import org.apache.commons.mail.SimpleEmail;
  47.  
  48. /*
  49.  *
  50.  * @author tina
  51.  */
  52. public class Agenda_InoFX extends Application {
  53.  
  54.     Label txNome = new Label("Nome");
  55.     TextField tfnome = new TextField();
  56.     Label txtelefone = new Label("Telefone");
  57.     TextField tftelefone = new TextField();
  58.     Label txemail = new Label("Email");
  59.     TextField tfemail = new TextField();
  60.  
  61.     Label txInfo = new Label("Informaçoes");
  62.     TextField tfinfo = new TextField();
  63.     ObservableList<String> names = FXCollections.observableArrayList();
  64.     ListView<String> listView = new ListView<String>(names);
  65.  
  66.     String url = "jdbc:mysql://localhost/agenda";
  67.     String strlerbd = "SELECT * FROM Contatos";
  68.     Connection conection;
  69.     String Executebd;
  70.     String strDeletebd;
  71.     String strSavebd;
  72.     String vllist;
  73.     String informes;
  74.      Label lbdadosnome;
  75.         Label lbdadostelefone;
  76.         Label lbdadosemail;
  77.         Label lbdadosinformer;
  78.         String vldadostenefone="",vldadosnome="",vldadosinformer="",vldadosemail="";
  79.         String strpesquisalista="";
  80.    //vbmil1
  81.         Label lbmaildestino=new Label("email destino");
  82.          TextField tfmail_destino=new TextField();
  83.          Label lbmailsubject=new Label("titulo");
  84.          TextField tfmail_subject=new TextField();
  85.          Label lbmail_area=new Label("mensagens a enviar");
  86.          TextArea tareamail=new TextArea();
  87.          
  88.          
  89.     void mysqlsddlol(){
  90.      
  91.          try {
  92.              
  93.              
  94.              conection=DriverManager.getConnection(url,"root","");
  95.             PreparedStatement pesquisa=(PreparedStatement) conection.prepareStatement(""+Executebd);
  96.            
  97.              if(Executebd==strlerbd) {
  98.            names.clear();
  99.             pesquisa.executeQuery();
  100.            
  101.             ResultSet resultado=pesquisa.executeQuery();
  102.             while (resultado.next()) {
  103.                 String nome=resultado.getString("nome");
  104.                 String telefone=resultado.getString("telefone");
  105.                 String email=resultado.getString("email");
  106.                 String informes=resultado.getString("informe");
  107.                  System.out.println("nome="+nome+
  108.                        
  109.                         "telefone="+telefone
  110.                         +"emamil="+email+
  111.                          "informe="+informes
  112.                                                );
  113.                  
  114.               names.add(nome);
  115.            
  116.            }
  117.              }else if(Executebd==strDeletebd) {
  118.                   pesquisa.executeUpdate();
  119.                
  120.            }else if(Executebd==strSavebd){
  121.                 pesquisa.executeUpdate();
  122.             }
  123.              else if(Executebd==strpesquisalista){
  124.                 pesquisa.executeQuery();
  125.                
  126.                  String  strpesquisalista2=strpesquisalista;
  127.                  ResultSet resultado=pesquisa.executeQuery();
  128.             while (resultado.next()) {
  129.                 String nome=resultado.getString("nome");
  130.                 String telefone=resultado.getString("telefone");
  131.                 String email=resultado.getString("email");
  132.                 String informes=resultado.getString("informe");
  133.                  System.out.println("nome="+nome+
  134.                        
  135.                         "telefone="+telefone
  136.                         +"emamil="+email+
  137.                          "informe="+informes);
  138.                vldadosnome=nome;
  139.                vldadostenefone=telefone;
  140.                vldadosemail=email;
  141.                vldadosinformer=informes;
  142.                lbdadosnome.setText("Nome:"+vldadosnome);
  143.         lbdadostelefone.setText("Telefone:"+vldadostenefone);
  144.          lbdadosemail.setText("Email:"+vldadosemail);
  145.         lbdadosinformer.setText("Informer:\n"+vldadosinformer);
  146.        
  147.            }
  148.              
  149.             }
  150.     } catch (SQLException ex) {
  151.             Logger.getLogger(Agenda_InoFX.class.getName()).log(Level.SEVERE, null, ex);
  152.         }
  153.        
  154.    
  155.    
  156.    
  157.     }
  158.     @Override
  159.     public void start(Stage stage) {
  160.  Executebd=strlerbd;
  161.         Group gp = new Group();
  162.         Scene scene = new Scene(gp, 750, 450, Color.ALICEBLUE);
  163.         stage.setScene(scene);
  164.         scene.getStylesheets().addAll("" + getClass().getResource("DarkTheme.css"));
  165.  
  166.         Image image = new Image("" + Agenda_InoFX.class.getResource("pexels.png"));
  167.  
  168.         // simple displays ImageView the image as is
  169.         ImageView iv1 = new ImageView();
  170.         iv1.setImage(image);
  171.         gp.getChildren().add(iv1);
  172.  
  173.         VBox vboxPrimeiro = new VBox(10);
  174.         vboxPrimeiro.setStyle("-fx-background-color:#000000;\n"
  175.                 + "    -fx-border-radius: 10;\n"
  176.                 + "    -fx-background-radius: 15;\n"
  177.                 + "    -fx-padding: 5;");
  178.         gp.getChildren().add(vboxPrimeiro);
  179.  
  180.         HBox hb1 = new HBox(5);
  181.         vboxPrimeiro.layoutXProperty().bind(scene.widthProperty().divide(6).subtract(20));
  182.         vboxPrimeiro.layoutYProperty().bind(scene.heightProperty().divide(6).subtract(15));
  183.         VBox vb1 = new VBox();
  184.  
  185.         Label txTitle = new Label("Agenda telefonica JFX");
  186.  
  187.         tfnome.setPromptText("nome");
  188.         tftelefone.setPromptText("Telefone");
  189.         tfemail.setPromptText("Email");
  190.  
  191.         tfinfo.setPromptText("Informaçoes");
  192.         HBox hbbt_info = new HBox(5);
  193.         vb1.setStyle("-fx-background-color:#696969;\n"
  194.                 + "    -fx-border-radius: 10;\n"
  195.                 + "    -fx-background-radius: 15;\n"
  196.                 + "    -fx-padding: 5;");
  197.         vb1.getChildren().addAll(
  198.                 txTitle, txNome, tfnome,
  199.                 txtelefone, tftelefone,
  200.                 txemail, tfemail, txInfo, tfinfo, hbbt_info
  201.         );
  202.         Button btSave = new Button("salvar");
  203.         Button btEditar = new Button("Editar");
  204.         hbbt_info.getChildren().addAll(btSave, btEditar);
  205.         hbbt_info.setStyle("-fx-background-color:#000000;\n"
  206.                 + "    -fx-background-radius: 3;\n"
  207.                 + "    -fx-padding: 5;");
  208.         VBox vb2 = new VBox();
  209.  
  210.         vb2.setStyle("-fx-background-color:#696969;\n"
  211.                 + "    -fx-border-radius: 0px 20px 0px 20px;\n"
  212.                 + "    -fx-background-radius: 15;\n"
  213.                 + "    -fx-padding: 5;");
  214.         //funçoes so serao validaas se um contato for adcionado no button
  215.         listView.setPrefSize(100, 180);
  216.         HBox hbinfbutns = new HBox(5);
  217.  
  218.         Button btDel = new Button("DEL");
  219.         Button btemail = new Button("Email");
  220.         Button Btsms = new Button("SMS");
  221.         Button Btligar = new Button("Ligar");
  222.         hbinfbutns.getChildren().addAll(btDel, btemail, Btsms, Btligar);
  223.        
  224.        
  225.         HBox hbdados1=new HBox(20);
  226.          HBox hbdados2=new HBox(20);
  227.          lbdadosnome=new Label("Nome:"+vldadosnome);
  228.         lbdadostelefone=new Label("Telefone:"+vldadostenefone);
  229.          lbdadosemail=new Label("Email:"+vldadosemail);
  230.         lbdadosinformer=new Label("Informer:"+vldadosinformer);
  231.        
  232.         hbdados1.getChildren().addAll(lbdadosnome,lbdadostelefone);
  233.         hbdados2.getChildren().addAll(lbdadosemail,lbdadosinformer);
  234.        
  235.        
  236.        
  237.        
  238.        
  239.         vb2.getChildren().addAll(listView, hbinfbutns,hbdados1,hbdados2);
  240.         hb1.getChildren().addAll(vb1, vb2);
  241.  
  242.         HBox hb2 = new HBox(10);
  243.  
  244.         Button btAtende = new Button("Atender");
  245.         Button btDisca = new Button("DIscar");
  246.         Button BtListSms = new Button("SMS's");
  247.         hb2.getChildren().addAll(btAtende, btDisca, BtListSms);
  248.  
  249.         vboxPrimeiro.getChildren().addAll(hb1, hb2);
  250.        
  251.        
  252.         //mysql
  253.        mysqlsddlol();
  254.        
  255.        listView.getSelectionModel().selectedItemProperty().addListener(
  256.             new ChangeListener<String>() {
  257.                 public void changed(ObservableValue<? extends String> ov,
  258.                     String old_val, String new_val) {
  259.                       System.out.println("informe "+new_val);
  260.                      
  261.                        vllist=new_val;
  262.                         strpesquisalista="select * from contatos where nome=\""+vllist+"\"";
  263.                          Executebd=strpesquisalista;
  264. //pesquisa por listview
  265.                    
  266.                    mysqlsddlol();
  267.                 }
  268.         });
  269.        btSave.setOnAction(new EventHandler<ActionEvent>() {
  270.             @Override
  271.             public void handle(ActionEvent event) {
  272.                 String ipAddress = null;
  273.         Enumeration<NetworkInterface> net = null;
  274.         try {
  275.             net = NetworkInterface.getNetworkInterfaces();
  276.         } catch (SocketException e) {
  277.             throw new RuntimeException(e);
  278.         }
  279.  
  280.         while (net.hasMoreElements()) {
  281.             NetworkInterface element = net.nextElement();
  282.             Enumeration<InetAddress> addresses = element.getInetAddresses();
  283.             while (addresses.hasMoreElements()) {
  284.                 InetAddress ip = addresses.nextElement();
  285.  
  286.                 if (ip.isSiteLocalAddress()) {
  287.                     ipAddress = ip.getHostAddress();
  288.                     System.out.println(".handle()"+ipAddress.toString());
  289.                     informes=tfinfo+"=+="+ipAddress;
  290.                 }          
  291.             }
  292.         }
  293.        
  294.                 if (tfnome.getText().length()>1&&tftelefone.getText().length()>1) {
  295.                    
  296.                     strSavebd="insert into Contatos(nome,telefone,email,informe )"+
  297.                             "values(\""+tfnome.getText()+"\",\""+tftelefone.getText()+
  298.                             "\",\""+tfemail.getText()+"\",\""+tfinfo.getText()+"\");";
  299.                      Executebd=strSavebd;
  300.                      mysqlsddlol();
  301.                       Executebd=strlerbd;
  302.                      mysqlsddlol();
  303.                 }
  304.             }
  305.         });
  306.        btemail.setOnAction(new EventHandler<ActionEvent>() {
  307.      @Override
  308.      public void handle(ActionEvent event) {
  309.          
  310.          
  311.          
  312.         Stage stagemail=new Stage();
  313.         stagemail.setTitle("Email para :"+vldadosemail);
  314.         Group gpmail=new Group();
  315.         Scene scenemail=new Scene(gpmail,400,400,Color.SILVER);
  316.          stagemail.setScene(scenemail);
  317.          
  318.           scenemail.getStylesheets().addAll("" + getClass().getResource("DarkTheme.css"));
  319.  
  320.          
  321.          
  322.          VBox vbomil1=new VBox();
  323.          //vbmail1
  324.          Button btenviarmail=new Button("enviar email");
  325.          vbomil1.getChildren().addAll(lbmaildestino,tfmail_destino,
  326.                  lbmailsubject,tfmail_subject,lbmail_area,tareamail,btenviarmail);
  327.          
  328.          tfmail_destino.setPromptText(""+vldadosemail);
  329.          gpmail.getChildren().add(vbomil1);
  330.          
  331.          
  332.          
  333.          
  334.          btenviarmail.setOnAction(new EventHandler<ActionEvent>() {
  335.             @Override
  336.             public void handle(ActionEvent event) {
  337.          
  338.      Email email = new SimpleEmail();
  339.       try {
  340.    email.setHostName("smtp.googlemail.com");
  341. email.setSmtpPort(465);
  342. email.setAuthentication("xxxxx", "xxxxx");
  343. email.setSSLOnConnect(true);
  344.    
  345.              email.setFrom("mabsonsktasd@gmail.com");
  346.              email.setSubject("Subject: "+tfmail_subject.getText());
  347. email.setMsg(":)"+tareamail.getText());
  348. email.addTo(""+vldadosemail);
  349. email.send();
  350.           System.out.println("email enviado");
  351.          } catch (EmailException ex) {
  352.              Logger.getLogger(Agenda_InoFX.class.getName()).log(Level.SEVERE, null, ex);
  353.          }        
  354.            
  355.             }
  356.         });
  357.          
  358.          
  359.          stagemail.show();
  360.          
  361.          
  362.          
  363.    
  364. }
  365.  });
  366.        
  367.           btDel.setOnAction(new EventHandler<ActionEvent>() {
  368.             @Override
  369.             public void handle(ActionEvent event) {
  370.                 System.out.println("valox"+vllist);
  371.                     strDeletebd="delete from Contatos where nome=\""+vllist+"\";";
  372.                     //"+ vllista+"
  373.                     Executebd=strDeletebd;
  374.                      mysqlsddlol();
  375.                       Executebd=strlerbd;
  376.                      mysqlsddlol();
  377.                 }
  378.            
  379.         });
  380.      
  381.         stage.show();
  382.     }
  383.  
  384.     /**
  385.      * @param args the command line arguments
  386.      */
  387.     public static void main(String[] args) {
  388.         launch(args);
  389.     }
  390.  
  391. }
  392. bem10jfx.blogspot.com
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement