java实现简单的星座查询
在校小白,大神勿喷。
版本已简化
连接mysql数据库验证用户名及密码进行登陆
public class mysql {
Connection con;
public mysql(){
try{
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动
String url = "jdbc:mysql://localhost:3306/mysql?useSSL=false"; // 定义数据库连接URL
con = DriverManager.getConnection(url, "root", ""); // 建立连接
}
catch(Exception e){
System.out.println("数据库连接失败");
}
}
}
这里使用的mysql包需要自行导入
try {
statement = ce.createStatement();
ResultSet rs=statement.executeQuery("select * from java where userName='"+name+"' and pwd='"+pwd+"'");}
连接数据库成功后查询数据库以验证用户名及密码
此版本为简化版,附完整代码如下:
LoginListener类:
public class LoginListener implements ActionListener{
private JTextField text_name;
private JPasswordField text_password;
private JFrame login;
public LoginListener(JFrame login,JTextField text_name,JPasswordField text_password){
//获取登录界面、账号密码输入框对象
this.login=login;//获取登录界面
this.text_name=text_name;//获取文本框
this.text_password=text_password;//获取密码框
}
public void actionPerformed(ActionEvent e)
{
//预封装dim2的高度和宽度
Dimension dim2 = new Dimension(100,30);
//预封装dim3的高度和宽度
Dimension dim3 = new Dimension(300,30);
//生成新界面
JFrame login2 = new JFrame("首页");
login2.setSize(1450,700);
login2.setDefaultCloseOperation(3);
login2.setLocationRelativeTo(null);
login2.setFont(new Font("宋体",Font.PLAIN,14)); //宋体,14号字体
//在登录失败界面创建组件
JPanel jp1 = new JPanel();
JPanel jp2 = new JPanel();
//获取用户名以及密码
String name=text_name.getText();
String pwd=text_password.getText();
mysql ml=new mysql();
Connection ce=ml.con;
//查询数据库并判断用户名和密码是否正确
Statement statement;
try {
statement = ce.createStatement();
ResultSet rs=statement.executeQuery("select * from java where userName='"+name+"' and pwd='"+pwd+"'");
if (rs.next()) {
//登陆成功界面--提示文字
login2.setLayout(null);
JLabel jl1=new JLabel("欢迎使用星座查询器,请您在下方的文本框中输入您的出生月日。例如:1月20日则输入1.20");
login2.add(jl1);
jl1.setBounds(0, 0, 800, 50);
jl1.setFont(new Font("宋体",Font.PLAIN,14));
//文本框相关定义
JTextField tf1=new JTextField();
login2.add(tf1);
tf1.setBounds(200, 70, 100,30);
//查询按钮相关定义
JButton jb1=new JButton();
login2.add(jb1);
jb1.setText("查询");
jb1.setBounds(600, 70,100 , 30);
jb1.addActionListener(new ActionListener() {//监听查询按钮
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String a=tf1.getText();//获取文本框内容
double b=Double.parseDouble(a);//将文本框内容转换为浮点型小数
if (b>=1.20&&b<=2.18) //判断
{
//定义星座名称、照片、性格分析
JLabel jl1JLabel=new JLabel();
jl1JLabel.setText("水瓶座");
login2.add(jl1JLabel);
jl1JLabel.setBounds(0, 100, 200, 50);
JLabel jl1=new JLabel();
Icon spIcon=new ImageIcon("ZP/011.PNG");
jl1.setIcon(spIcon);
login2.add(jl1);
jl1.setVisible(true);
jl1.setBounds(0, 120, 100, 100);//下方剩390
JLabel jlb1=new JLabel("<html>水瓶座:女性富知性理性,善于分析与思考,具有思想家的气质,因此天生有清晰冷静的头脑和丰富的创造力。,"
+ "男性永远都是时尚的顶尖人物。这类人思想是天马行空的。</html>");
login2.add(jlb1);
jlb1.setBounds(0,210, 690, 70);
}else if (b>=2.19&&b<=3.20) {
JLabel jl2JLabel=new JLabel();
jl2JLabel.setText("双鱼座");
login2.add(jl2JLabel);
jl2JLabel.setBounds(100, 100, 100, 50);
JLabel jl2=new JLabel();
Icon spIcon=new ImageIcon("ZP/012.PNG");
jl2.setIcon(spIcon);
login2.add(jl2);
jl2.setVisible(true);
jl2.setBounds(100, 120, 100, 100);
JLabel jlb1=new JLabel("<html>双鱼座:女性::从表面上看,双鱼座的人内向而羞怯,然而内心常常是复杂而矛盾的,同时存在着善与恶,精神与物质等对立的争扎,"
+ "男性:是最具备艺术气质的一类人。他们敏锐而伤感。天生具有表演天赋,容易博得他人的同情</html>");
login2.add(jlb1);
jlb1.setBounds(0,290, 690, 70);
}else if (b>=3.21&&b<=4.19) {
JLabel jl3JLabel=new JLabel();
jl3JLabel.setText("白羊座");
login2.add(jl3JLabel);
jl3JLabel.setBounds(200, 100, 100, 50);
JLabel jl3=new JLabel();
Icon spIcon=new ImageIcon("ZP/001.PNG");
jl3.setIcon(spIcon);
login2.add(jl3);
jl3.setVisible(true);
jl3.setBounds(200, 120, 100, 100);
JLabel jlb1=new JLabel("<html>白羊座:女性:性格爽朗,不拘小节,极具领袖气质,充满自信而固执有旺盛的企图心,喜欢接受挑战,"
+ "男性:绝对的热血男儿,有一点冲动和野心,不过有时候他们更加会夸夸其谈,喜欢炫耀自己的同时更加容易陷入情网</html>");
login2.add(jlb1);
jlb1.setBounds(0,360, 690, 70);
}else if (b>=4.20&&b<=5.20) {
JLabel jl4JLabel=new JLabel();
jl4JLabel.setText("金牛座");
login2.add(jl4JLabel);
jl4JLabel.setBounds(300, 100, 100, 50);
JLabel jl4=new JLabel();
Icon spIcon=new ImageIcon("ZP/002.PNG");
jl4.setIcon(spIcon);
login2.add(jl4);
jl4.setVisible(true);
jl4.setBounds(300, 120, 100, 100);
JLabel jlb1=new JLabel("<html>金牛座:女性:追求脚踏实地的平实感,个性温和,庄重正直,对音乐,舞蹈的节奏感有着与生俱来的天赋,"
+ "男性:沉默寡言,惜字如金。是最容易气死人的一种。表面上都很斯文,踏实,给人务实的感觉.但是骨子里却很风骚</html>");
login2.add(jlb1);
jlb1.setBounds(0,430, 690, 70);
}else if (b>=5.21&&b<=6.21) {
JLabel jl5JLabel=new JLabel();
jl5JLabel.setText("双子座");
login2.add(jl5JLabel);
jl5JLabel.setBounds(400, 100, 100, 50);
JLabel jl5=new JLabel();
Icon spIcon=new ImageIcon("ZP/003.PNG");
jl5.setIcon(spIcon);
login2.add(jl5);
jl5.setVisible(true);
jl5.setBounds(400, 120, 100, 100);
JLabel jlb1=new JLabel("<html>双子座:女性:兼具光明开朗的一面和阴霾低潮的一面,拥有敏捷的反应,学习能力强,显得才华洋溢,但需要坚持到底,"
+ "男性:比较实际。喜欢将来可以帮助自己的女性。心气比较高傲,双子座的男人聪明而幽默</html>");
login2.add(jlb1);
jlb1.setBounds(0,500, 690, 70);
}else if (b>=6.22&&b<=7.22) {
JLabel jl6JLabel=new JLabel();
jl6JLabel.setText("巨蟹座");
login2.add(jl6JLabel);
jl6JLabel.setBounds(500, 100, 100, 50);
JLabel jl6=new JLabel();
Icon spIcon=new ImageIcon("ZP/004.PNG");
jl6.setIcon(spIcon);
login2.add(jl6);
jl6.setVisible(true);
jl6.setBounds(500, 120, 100, 100);
JLabel jlb1=new JLabel("<html>巨蟹座:女性:拥有爱家的母性本质,他们就像蟹一样,有坚硬的外壳,却有柔软的内心,所以巨蟹座很懂得保护自己,"
+ "男性:因为很简单,EQ发育比较迟缓,该风流不枉少年郎的时候,他们在打瞌睡,当人家改邪归正了以后,他才如梦初醒。</html>");
login2.add(jlb1);
jlb1.setBounds(0,570, 690, 70);
}else if (b>=7.23&&b<=8.22) {
JLabel jl7JLabel=new JLabel();
jl7JLabel.setText("狮子座");
login2.add(jl7JLabel);
jl7JLabel.setBounds(600, 100, 100, 50);
JLabel jl7=new JLabel();
Icon spIcon=new ImageIcon("ZP/005.PNG");
jl7.setIcon(spIcon);
login2.add(jl7);
jl7.setVisible(true);
jl7.setBounds(600, 120, 100, 100);
JLabel jlb1=new JLabel("<html>狮子座:女性:热情洋溢,本质上阳刚,却也容易傲慢顽固。具领导能力与侠义风范,充满活力和强烈的企图心,却不善于作深入的思考,"
+ "男性:坦诚,大方,爱恨分明,事业上容易成为霸主,群体里容易成为领袖.但是狮子座的男性在处理女性问题的时候,往往会优柔寡断</html>");
login2.add(jlb1);
jlb1.setBounds(710,210, 690, 70);
}else if (b>=8.23&&b<=9.22) {
JLabel jl8JLabel=new JLabel();
jl8JLabel.setText("处女座");
login2.add(jl8JLabel);
jl8JLabel.setBounds(700, 100, 100, 50);
JLabel jl8=new JLabel();
Icon spIcon=new ImageIcon("ZP/006.PNG");
jl8.setIcon(spIcon);
login2.add(jl8);
jl8.setVisible(true);
jl8.setBounds(700, 120, 100, 100);
JLabel jlb1=new JLabel("<html>处女座:女性:完美主义者,感觉纤细敏锐,但同时也保有冷静的头脑,对事物能作出正确的判断。因为自我要求甚高,很容易神经紧张,"
+ "男性:对感情比较内敛,不轻易的表露出来,这个大概和他们有一颗敏感而害羞的心有关。</html>");
login2.add(jlb1);
jlb1.setBounds(710,280, 690, 70);
}else if (b>=9.23&&b<=10.23) {
JLabel jl9JLabel=new JLabel();
jl9JLabel.setText("天秤座");
login2.add(jl9JLabel);
jl9JLabel.setBounds(800, 100, 100, 50);
JLabel jl9=new JLabel();
Icon spIcon=new ImageIcon("ZP/007.PNG");
jl9.setIcon(spIcon);
login2.add(jl9);
jl9.setVisible(true);
jl9.setBounds(800, 120, 100, 100);
JLabel jlb1=new JLabel("<html>天秤座:女性:宽容,讲求和平,不喜争斗,常常扮演和平使者的角色。你极具理性,很能明辩是非,有高明的社交能力和谈话技巧,"
+ "男性:很和善,容易与他人交往。给人留下的印象一般都是高贵典雅。但在事业上一般缺乏竞争的野心,行为处事都很淡然</html>");
login2.add(jlb1);
jlb1.setBounds(710,350, 690, 70);
}else if (b>=10.24&&b<=11.22) {
JLabel jl10JLabel=new JLabel();
jl10JLabel.setText("天蝎座");
login2.add(jl10JLabel);
jl10JLabel.setBounds(900, 100, 100, 50);
JLabel jl10=new JLabel();
Icon spIcon=new ImageIcon("ZP/008.PNG");
jl10.setIcon(spIcon);
login2.add(jl10);
jl10.setVisible(true);
jl10.setBounds(900, 120, 100, 100);
JLabel jlb1=new JLabel("<html>天蝎座:女性:深沉内敛,沉默寡言,做事谨慎且深思熟虑,很能掌握事物本质,不善于表达感情,容易给人顺从的错觉,但内心是坚决而固执的。,"
+ "男性:报复心强是众人皆知,但是他们还有一点也是很厉害的,就是力争上游,绝不服输的精神</html>");
login2.add(jlb1);
jlb1.setBounds(710,420, 690, 70);
}else if (b>=11.23&&b<=12.21) {
JLabel jl11JLabel=new JLabel();
jl11JLabel.setText("射手座");
login2.add(jl11JLabel);
jl11JLabel.setBounds(1000, 100, 100, 50);
JLabel jl11=new JLabel();
Icon spIcon=new ImageIcon("ZP/009.PNG");
jl11.setIcon(spIcon);
login2.add(jl11);
jl11.setVisible(true);
jl11.setBounds(1000, 120, 100, 100);
JLabel jlb1=new JLabel("<html>水瓶座:女性:热情,热爱生命的乐天主义者,你的率直,天真的性格使你广受欢迎,崇尚自由,反应灵敏,行动敏捷 ,"
+ "男性:不太注重对方是否有出众的容貌。他们爱上一个人有时候连自己都缺少一个理由,可能像某个人,触动自己的心弦就会追求,他们很少默默暗恋别人,有话直说</html>");
login2.add(jlb1);
jlb1.setBounds(710,490, 690, 70);
}else if (b>=12.22&&b<=12.31||b>=1.1&&b<=1.19) {
JLabel jl12JLabel=new JLabel();
jl12JLabel.setText("摩羯座");
login2.add(jl12JLabel);
jl12JLabel.setBounds(1100, 100, 100, 50);
JLabel jl12=new JLabel();
Icon spIcon=new ImageIcon("ZP/010.PNG");
jl12.setIcon(spIcon);
login2.add(jl12);
jl12.setVisible(true);
jl12.setBounds(1100, 120, 100, 100);
JLabel jlb1=new JLabel("<html>摩羯座:女性:从表面上看,双鱼座的人内向而羞怯,然而内心常常是复杂而矛盾的,同时存在着善与恶,精神与物质等对立的争扎,"
+ "男性:事业心很强。不甘落后别人,力争第一。他们都很珍惜自己的另一半,他们自我给与的压力都很大,凡事都要力求完美</html>");
login2.add(jlb1);
jlb1.setBounds(710,560, 690, 70);
}
}
});
login2.setVisible(true);
//通过获取登录界面对象,用dispose方法关闭它
login.dispose();
}
else {
JFrame jf1=new JFrame();
//错误界面中使用边界布局,
JLabel jl1 = new JLabel(" 账号或密码错误,请重新输入!");
jf1.setSize(500, 200);
//宋体,14号字体
jl1.setFont(new Font("宋体",Font.PLAIN,14));
jl1.setPreferredSize(dim3);
//将textName标签添加到窗体上
jp1.add(jl1);
jf1.add(jp1,BorderLayout.NORTH);//布局
JButton close = new JButton("确定");//确定按钮相关定义
close.setFont(new Font("宋体",Font.PLAIN,14));//按钮文字字体设置
//设置按键大小
close.setSize(dim3);
jp2.add(close);
jf1.add(jp2,BorderLayout.SOUTH);
close.addActionListener(new ActionListener()//对判断按钮进行监听
{
public void actionPerformed(ActionEvent e)
{
jf1.dispose();//关闭窗口
}
});
jf1.setResizable(false);
jf1.setVisible(true);//显示方式
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
login2.setResizable(false);
login2.setVisible(true);//显示方式
}
}
}
dabianDemo类:
public class dabianDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
dabianDemo login = new dabianDemo();//实例化Login类的对象,
login.initUI();//调用初始化界面的方法
}
public void initUI() {
JFrame jf1 = new JFrame();//实例化JFrame类的对象
jf1.setTitle("登录");//设置窗体标题
jf1.setSize(400, 250);//设置窗体大小,只对顶层容器生效
jf1.setDefaultCloseOperation(3);//设置窗体关闭操作,3表示关闭窗体退出程序
jf1.setLocationRelativeTo(null);//设置窗体相对于另一组间的居中位置,参数null表示窗体相对于屏幕的中央位置
jf1.setFont(new Font("宋体",Font.PLAIN,14));//设置字体,显示格式正常,大小
FlowLayout fl = new FlowLayout(FlowLayout.CENTER,10,10);//实例化流式布局类的对象,指定对齐方式为居中对齐组件之间的间隔为10个像素
jf1.setLayout(fl);//实例化流式布局类的对象
JLabel jl1 = new JLabel("账号:");//实例化JLabel标签对象,该对象显示“账号”
jl1.setFont(new Font("宋体",Font.PLAIN,14));//宋体,14号
jf1.add(jl1);//将jl1标签添加到窗体上
JTextField jtf1 = new JTextField();//实例化JTextField标签
Dimension dim1 = new Dimension(300,30); //封装了一个文本框的高度和宽度
jtf1.setPreferredSize(dim1);//设置除顶级容器组件以外其他组件的大小
jf1.add(jtf1);//将jtf1标签添加到窗体上
JLabel jl2 = new JLabel("密码:");//实例化JLabel标签对象,该对象显示“密码”
jl2.setFont(new Font("宋体",Font.PLAIN,14));
jf1.add(jl2);//将jl2添加到窗体上
JPasswordField jp1 = new JPasswordField();//实例化JPasswordField密码框
jp1.setPreferredSize(dim1);//使用封装设置大小
jf1.add(jp1);//添加到窗体
JButton button1 = new JButton();//实例化JButton组件
Dimension dim2 = new Dimension(100,30);//封装了按钮控件的高度和宽度
button1.setText("登录");//设置按键的显示内容
button1.setFont(new Font("宋体",Font.PLAIN,14));//设置字体
button1.setSize(dim2);//使用封装设置按键大小
jf1.add(button1);
jf1.setVisible(true);//窗体可见,一定要放在所有组件加入窗体后
LoginListener ll = new LoginListener(jf1,jtf1,jp1);//对登录按钮设置监听
button1.addActionListener(ll);
}
}
mysql类:
public class mysql {
Connection con;
public mysql(){
try{
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动
String url = "jdbc:mysql://localhost:3306/mysql?useSSL=false"; // 定义数据库连接URL
con = DriverManager.getConnection(url, "root", ""); // 建立连接
}
catch(Exception e){
System.out.println("数据库连接失败");
}
}
}
java实现简单的星座查询的更多相关文章
- java实现简单的solr查询
SolrQuery类是实现solr查询的类. @Test public void testSelect() { String url = "http://localhost:8081/sol ...
- MyBatis简单的增删改查以及简单的分页查询实现
MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...
- java使用elasticsearch进行模糊查询-已在项目中实际应用
java使用elasticsearch进行模糊查询 使用环境上篇文章本人已书写过,需要maven坐标,ES连接工具类的请看上一篇文章,以下是内容是笔者在真实项目中运用总结而产生,并写的是主要方法和思路 ...
- Java秒杀简单设计二:数据库表和Dao层设计
Java秒杀简单设计二:数据库表Dao层设计 上一篇中搭建springboot项目环境和设计数据库表 https://www.cnblogs.com/taiguyiba/p/9791431.html ...
- java实现简单的数据库的增删查改,并布局交互界面
一.系统简介 1.1.简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员.管理员的主要功能有对学生信息进行增加.删除.修改.查找等操作,对信息进行管理,对信息进行修改.查找等操作 ...
- SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法
软件152 尹以操 首先谢谢大佬的简书文章:http://www.jianshu.com/p/45ad65690e33# 这篇文章中讲的是spring中使用spring data jpa,使用了xml ...
- java 模拟简单搜索
Java 模拟简单搜索 实体类 package org.dennisit.entity; /** * * * @version : 1.0 * * @author : 苏若年 <a href=& ...
- 我的EntityFramework(2):简单的数据查询
原文:我的EntityFramework(2):简单的数据查询 在上一篇博文中,已经搭建了基本的框架,接下来就进行简单的数据查询,这里主要用了Linq 常见的数据集查询 var companyList ...
- Java实现简单版SVM
Java实现简单版SVM 近期的图像分类工作要用到latent svm,为了更加深入了解svm,自己动手实现一个简单版的. 之所以说是简单版,由于没实用到拉格朗日,对偶,核函数等等.而 ...
随机推荐
- win10安装mudbox失败,怎么强力卸载删除注册表并重新安装
一些搞设计的朋友在win10系统下安装mudbox失败或提示已安装,也有时候想重新安装mudbox的时候会出现本电脑windows系统已安装mudbox,你要是不留意直接安装mudbox,只会安装mu ...
- 接口测试-chap6-获取页面动态token
1.在发起某些请求时,可能会要求必须是从某个页面进行请求,此时会验证页面的token 2.这个token是动态生成的,每次请求时值都是不同的, 不可以通过fiddler抓取的值作为固定值传入,通过fi ...
- Train Problem II (卡特兰数+大数问题)
卡特兰数: Catalan数 原理: 令h(1)=1,h(0)=1,catalan数满足递归式: h(n)= h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1) ...
- ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 31, event_type: 35报错处理
centos7系统MySQL5.7在用mysqlbinlog命令查询binlog日志时刚开始查询即自动终止查询,查了一下该日志有300M,于是仔细看发现有报错,见下图: 在网上查找经验贴http:// ...
- 杂记:OSX下编译安装最新版RedisDesktopMmanager
之前使用Redis数据库时因为操作简单,一直使用的是“redis-cli”连接Redis:后来因为数据展示的不是很直观,所以开始使用带有图形界面的Redis客户端:RedisDesktopMmanag ...
- React Docs(1)
安装 React在codepen上提供了一个Hello,World项目事例,只需打开网站,即可尝试React.另外还提供了一个html文件的Hello,World项目,项目中引用CDN的react.j ...
- CSS中网格布局实战(初级)
大家好,网格布局是我们在网页布局中经常用到的,那这里我就给大家分享一篇简单的网格布局,让大家能简单明了的了解网格布局的基本内容.闲话不多说,直接进入主题! 第一步,基本的框架结构.这里直接一个div来 ...
- Vmware Workstation 15 Pro安装Arch Linux并配置Docker
主机配置: CPU:Intel Core i7-7700HQ 2.8GHz 2.8GHz 内存:16GB 操作系统:Windows 10 Home 64bit 双显卡:Intel HD Graphic ...
- abp框架运行——前后端分离(基于VUE)
目录 1.介绍abp 2.abp如何工作 3.运行Domo 3.1官网点击 创建Demo 3.2 配置NetCore,选择Vue 3.3 输入系统名称验证码 4.官方手册文档 5.VUE项目 6. S ...
- date成字符串
//获取当前时间 Date date=new Date(); System.out.println("当前date: "+date); //将时间转化成yyyy-MM-dd格式的字 ...