通讯录javafx和mysql_用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()
{ 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{
public void handle(ActionEvent e) {
search();
System.out.println("查询button clicked");
}
}
class OKHandlerClass1 implements EventHandler{
public void handle(ActionEvent e) {
tianjia();
System.out.println("添加 button clicked");
}
}
class OKHandlerClass2 implements EventHandler{
public void handle(ActionEvent e) {
delete();
System.out.println("删除 button clicked");
}
}
class OKHandlerClass3 implements EventHandler{
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();
}
}
}
//新手写的,请指教,谢谢。
本文出自 “11706014” 博客,转载请与作者联系!
通讯录javafx和mysql_用javafx实现通讯录相关推荐
- 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序 方法 1:使用 Java 8 方法 2:使用 Java 模块系统 方法 3:使用引导类 很多 JavaFX 初 ...
- javafx 和swing_集成JavaFX和Swing(修订版)
javafx 和swing 我刚刚完成了对使用Swing的应用程序组件的重写,现在正在使用JavaFX,最后得到了与更大的swing应用程序集成的JavaFX组件. 这是一个很大的应用程序,重写花了我 ...
- javafx 和swing_集成JavaFX和Swing
javafx 和swing 我刚刚完成了对使用Swing的应用程序组件的重写,现在正在使用JavaFX,最后得到了与更大的swing应用程序集成的JavaFX组件. 这是一个很大的应用程序,重写花了我 ...
- javafx 使用_使用JavaFX AnimationTimer
javafx 使用 回想一下,给AnimationTimer起个名字可能不是一个好主意,因为它不仅可以用于动画,还可以用于测量fps速率,碰撞检测,模拟步骤,游戏主循环等.实际上,我大部分时间都在看A ...
- idea javafx添加maven_maven+IDEA+JavaFX+JFoenix
1.maven环境准备 解压apache-maven-3.5.4.zip到D盘根目录,并建一个本地仓库目录my_maven_jar,如图 准备maven和本地仓库目录 2.在IDEA中配置maven环 ...
- JavaFx教程-01初识javaFX
什么是JavaFX JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者用来设计.创建.测试.调试和部署富客户端程序,和Java一样跨平台. JavaFX特点 官方对于JavaFX的解释如 ...
- javafx 教程_集成JavaFX和Swing
javafx 教程 我刚刚完成了对使用Swing的应用程序组件的重写,现在使用的是JavaFX,最后得到了与更大的swing应用程序集成的JavaFX组件. 这是一个很大的应用程序,重写花了我一段时间 ...
- javafx 教程_集成JavaFX和Swing(修订版)
javafx 教程 我刚刚完成了对使用Swing的应用程序组件的重写,现在使用的是JavaFX,最后得到了与更大的swing应用程序集成的JavaFX组件. 这是一个很大的应用程序,重写花了我一段时间 ...
- javafx 教程_Swing和JavaFX:使用JFXPanel
javafx 教程 我很快将不得不在基于Swing的胖客户端中处理JavaFX –哦,很抱歉,我的意思是"多层富客户端"! 因此,这使我来看看JFXPanel . JFXPanel ...
最新文章
- asp.net性能的技巧
- 三十三、Java集合中的LinkedList
- JavaScript实现求最大公约数 (GCD)的算法(附完整源码)
- 华为计算机如何计算sina,一道华为的“简单四则运算”题
- 一个基于SAP Hybris Commerce和微信的社交电商原型介绍
- CF 1642 F. Two Arrays 随机 + sosdp
- 【kafka】 kafka 0.10报错IOException: Connection to 1 was disconnected before the response was read
- BOMTool更新到1.3.0.10
- js-ES6学习笔记-Class(6)
- P2P技术原理及应用
- 机械设计(机电)_简要问答_复习笔记
- 【Hadoop】Hadoop大数据架构及关键组件
- Hive教程(08)- JDBC操作Hive
- 网卡 的linux驱动精灵,下载:Intel PRO100/1000网卡驱动13.0版
- 120xa变频器调试参数_图文并茂 | 西门子G120变频器的面板调试操作
- 程序设计比赛WBS图
- 机器学习 简答题 速记
- 2021-04-29 Do not nest ternary expressions
- 解决 openwrt/Lede pppoe拨号频繁掉线的问题
- 周转时间和带权周转时间的计算
热门文章
- SAP/SD - 做SD你要知道的透明表
- 又一金融科技巨头入局,智慧出行的竞争靠什么胜出?
- matlab中鼠标光标后面的阴影怎么去除,UG在绘图是拖动鼠标出现残影怎么回事?看看这个方法就知道了...
- python的所有数据类型都可以相互转化吗_Python python 数据类型的相互转换
- [JDBC] 获取数据库连接方式
- Python基础教程:带参装饰器、生成器、迭代器、for循环迭代器、枚举
- Python3 操作符重载方法
- 3分钟教你用python制作一个简单词云
- Python规范:提高可读性
- python是烂语言吗