用javafx實現通訊錄

//先創建登錄界面
package com.txl.jm;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonBuilder;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class denglu extends Application{
   
 public void  start( final Stage primaryStage) {
       GridPane pane= new GridPane();
      pane.setAlignment(Pos.CENTER);
      pane.setPadding(new Insets(50));
      pane.setHgap(5);
      pane.setVgap(5);
      
      final javafx.scene.control.TextField yhm=new javafx.scene.control.TextField();
      final javafx.scene.control.TextField mm=new javafx.scene.control.TextField();
      
      pane.add(new javafx.scene.control.Label("用戶名"),0,0);
      pane.add(yhm,1,0);
 
      pane.add(new Label("密碼"),0,1);
      pane.add(mm,1,1);
      Button    button1 = ButtonBuilder.create().text("登陸").onAction(new EventHandler<ActionEvent>()
      {         public void handle(ActionEvent e){ 
        String a=yhm.getText();
        String b=mm.getText();
       if("8".equals(a)&&"8".equals(b)){
        javafx.application.Platform.runLater(new Runnable() {//Platform方法實現界面跳轉
         
         public void run() {
           new jiemian().start(new Stage());
         }
        });
       } else{
              javafx.application.Platform.runLater(new Runnable() {//Platform方法實現界面跳轉
         public void run() {     
          new jieshu().start(new Stage());
         }
        });
              }
       primaryStage.close();
       System.out.println("button  clicked");
       }       }).build();  
      pane.add(button1,2,3);
   Scene scene=new Scene(pane);
   primaryStage.setTitle("通訊錄");
   primaryStage.setScene(scene);
   primaryStage.show();
  }
public static void main(String[] args) {
  
  Application.launch(args);
 }
}
//創建用戶
package com.txl.jm;
public class person {
 String id;
 String dh;
 String xm;
 public String getId() {
  return id;
 }
 public void setId(String id) {
  this.id = id;
 }
 public String getDh() {
  return dh;
 }
 public void setDh(String dh) {
  this.dh = dh;
 }
 public String getXm() {
  return xm;
 }
 public void setXm(String xm) {
  this.xm = xm;
 }
 public  void people(String xm,String dh, String id) {
  this.setDh(dh);
  this.setId(id);
  this.setXm(xm);  
 }
}

//創建主界面

package com.txl.jm;

import java.sql.SQLException;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class jiemian extends Application{
 
 javafx.scene.control.TextField cx=new javafx.scene.control.TextField();
 javafx.scene.control.TextField mz=new javafx.scene.control.TextField();
 javafx.scene.control.TextField xh=new javafx.scene.control.TextField();
 javafx.scene.control.TextField dh=new javafx.scene.control.TextField();

 
 public void start(Stage primaryStage) {
    //窗體
     GridPane pane= new GridPane();
     pane.setAlignment(Pos.CENTER);
     pane.setPadding(new Insets(11,12,13,14));
     pane.setHgap(5);
     pane.setVgap(5);
    
     pane.add(new Label("查詢學號"),0,0);
     pane.add(cx,1,0);
     Button button2=new Button("查詢");
     OKHandlerClass handler1=new OKHandlerClass();
     button2.setOnAction(handler1);
  pane.add(button2,2,0);
    
     pane.add(new javafx.scene.control.Label("名字:"),0,1);
     pane.add(mz,1,1);
        
     pane.add(new Label("學號:"),0,2);
     pane.add(xh,1,2);
    
     pane.add(new Label("電話:"),0,3);
     pane.add(dh,1,3);
    
     Button button1=new Button("添加");
     pane.add(button1,2,3);
    OKHandlerClass1 handler2=new OKHandlerClass1();
     button1.setOnAction(handler2);
    
     Button button3=new Button("刪除");
     pane.add(button3,2,2);
     OKHandlerClass2 handler3=new OKHandlerClass2();
     button3.setOnAction(handler3);
    
     Button button4=new Button("修改");
     pane.add(button4,2,1);
     OKHandlerClass3 handler4=new OKHandlerClass3();
     button4.setOnAction(handler4);
    
     Scene scene1=new Scene(pane);
  primaryStage.setTitle("通訊錄");
  primaryStage.setScene(scene1);
  primaryStage.show();
  
 }
 class OKHandlerClass implements EventHandler<ActionEvent>{
  public void handle(ActionEvent e) {
   search();
   System.out.println("查詢button  clicked");
   
  }
  
 }
 class OKHandlerClass1 implements EventHandler<ActionEvent>{
  public void handle(ActionEvent e) {
   tianjia();
   System.out.println("添加 button clicked");
   
  }
  
 }
 
 class OKHandlerClass2 implements EventHandler<ActionEvent>{
  public void handle(ActionEvent e) {
   delete();
   System.out.println("刪除 button clicked");
   }
 }
 
 class OKHandlerClass3 implements EventHandler<ActionEvent>{
  public void handle(ActionEvent e) {
    update();
   System.out.println("修改button clicked");
    }
  }
 private void search(){
  person ren=new person();
  ren.id=cx.getText();
  mysqljdbc a=new mysqljdbc();
  a.initializeDB();

  try {
   String queryString="select * from stu where id='"+ren.id+"'";
  a.preStmt = a.connect.prepareStatement(queryString);
           a.rSet=a.preStmt.executeQuery();
        if(a.rSet.next()){
             String name1=a.rSet.getString(1);
                String xh1=a.rSet.getString(2);
             String txl1=a.rSet.getString(3);
             xh.setText(name1);
             dh.setText(txl1);
             mz.setText(xh1); 
            } 
        exit1();
  } catch (Exception e) {
  }
  }
 private void tianjia(){
  person ren1=new person();
  ren1.xm=mz.getText();
  ren1.id=xh.getText();
  ren1.dh=dh.getText();
 
  try {
   mysqljdbc b1=new mysqljdbc();
   b1.initializeDB();
   String queryString="insert into stu values(?,?,?)";
      b1.preStmt = b1.connect.prepareStatement(queryString);
      b1.preStmt.setString(2, ren1.xm);
      b1.preStmt.setString(1, ren1.id);
      b1.preStmt.setString(3, ren1.dh);
      b1.preStmt.executeUpdate();  
      exit1();
  } catch (Exception e) {
  }
  }
   public int delete()   { 
    person ren2=new person();
  ren2.id=xh.getText();
  
        String sql = "delete from stu where id='"+ren2.id+"'"; 
     
        int i=0;  
        try  {
           mysqljdbc cMysqljdbc=new mysqljdbc();
              cMysqljdbc.initializeDB();
            cMysqljdbc.preStmt =  cMysqljdbc.connect.prepareStatement(sql);
            i =  cMysqljdbc.preStmt.executeUpdate(); 
            exit1();
        } 
        catch (SQLException e) 
        { 
            e.printStackTrace(); 
        } 
        return i;//如果返回的是1,則執行成功; 
    } 
    public int update()
    {  person aPerson=new person();
        aPerson.xm=mz.getText();
     aPerson.id=xh.getText();
     aPerson.dh=dh.getText();
        int i=0; 
      
        String sql="update stu set name=?,txl=?,id=?where id='"+aPerson.id+"'";//注意要有where條件 
        try{ 
          mysqljdbc cMysqljdbc=new mysqljdbc();
             cMysqljdbc.initializeDB();
         cMysqljdbc.preStmt =cMysqljdbc.connect.prepareStatement(sql); 
         cMysqljdbc.preStmt.setString(1, aPerson.xm);
         cMysqljdbc. preStmt.setString(2, aPerson.dh);
         cMysqljdbc.preStmt.setString(3, aPerson.id);
            i=cMysqljdbc.preStmt.executeUpdate(); 
            exit1();
        } 
        catch (SQLException e) 
        { 
            e.printStackTrace(); 
        } 
        return i;//返回影響的行數,1爲執行成功 
    } 
   
public void exit1()   {
 mysqljdbc a=new mysqljdbc();
 if(a.rSet != null){   // 關閉記錄集   
        try{   
            a.rSet.close() ;   
        }catch(SQLException e){   
            e.printStackTrace() ;   
        }   
          }   
           if(a.preStmt != null){   // 關閉聲明   
         try{   
          a.preStmt.close() ;   
         }catch(SQLException e){   
             e.printStackTrace() ;   
         }   
           }   
           if(a.connect != null){  // 關閉連接對象   
          try{   
             a.connect.close() ;   
          }catch(SQLException e){   
             e.printStackTrace() ;   
          }   
           } 
    } 
   
public static void main(String[] args) {
  
  Application.launch(args);
  
 }
}

//創建結束界面

package com.txl.jm;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class jieshu extends Application{

 public void start(Stage primaryStage) {
  //窗體
     GridPane pane= new GridPane();
     pane.setAlignment(Pos.CENTER);
     pane.setPadding(new Insets(11,12,13,14));
     pane.setHgap(5);
     pane.setVgap(5);
    
     Label button1=new Label("密碼錯誤");
     pane.add(button1,1,1);
  Scene scene=new Scene(pane);
  primaryStage.setTitle("通訊錄");
  primaryStage.setScene(scene);
  primaryStage.show();
 }
public static void main(String[] args) {
  
  Application.launch(args);
 }
}

//創建數據庫連接

package com.txl.jm;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

class mysqljdbc {
  Connection connect;
  ResultSet rSet;
  java.sql.PreparedStatement preStmt;
 public void initializeDB(){
  try {
        Class.forName("com.mysql.jdbc.Driver");     //加載MYSQL JDBC驅動程序  
        //Class.forName("org.gjt.mm.mysql.Driver");
       System.out.println("Success loading Mysql Driver!");
       connect= DriverManager.getConnection(
            "","","");
             //連接URL爲   jdbc:mysql//服務器地址/數據庫名  ,後面的2個參數分別是登陸用戶名和密碼

        System.out.println("Success connect Mysql server!");
      }
      catch (Exception e) {
       e.printStackTrace();
      }
  }
}

//新手寫的,請指教,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章