基于Java JFrame的登录界面+Mysql(一:登录窗口)

最近有java爬虫的项目,对于一个刚刚学习java的小白来说看网上各类层出不穷的爬虫框架、项目工程...完全看不懂,为此刻意学习了一下有关URL和Sql的知识。当然因为我很菜..所以就是最最最简单、傻瓜的操作了!

准备环境:

数据库:我用的Mysql (具体可以在官网下载:https://dev.mysql.com/downloads/installer/  (我这里用的是windows的)

参考安装步骤https://jingyan.baidu.com/article/0bc808fc0df3641bd485b9b3.html

自己也可以再去下载一个数据库的图形界面,我这里直接用命令行。

IDE: 由于不会用maven(所以说我真的太菜了TAT) 用的是eclipse

爬虫框架:这里先不说。(因为是完全从零开始哦

图形界面:就用java自带的Swing组件就可以了

搭建环境:

首先下载Mysql,点击上面给的链接,然后Download (我下载的300多M的)

下载好后就傻瓜式的next...中间有一个密码的设置root用户对应的密码,最后有一个finish就安装结束了.

右键点击“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”-双击“Path”-将mysql的路径“C:\Program Files\MySQL\MySQL Server 8.0\bin”添加进去-“确定”添加完毕之后,再到DOS下进行测试:

输入mysql -u root -p

输入密码(安装时root的密码)启动mysql命令行窗口。

然后检查一下环境变量PATH是否有添加C:\Program Files\MySQL\MySQL Shell 8.0\bin\

打开eclipse创建一个有Main.class的工程: 然后cv以下代码

package text;
//傻瓜式连接数据库;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
  public static void main(String args[]) {
    try {
      Class.forName("com.mysql.cj.jdbc.Driver");     //加载MYSQL JDBC驱动程序   
     System.out.println("Success loading Mysql Driver!");
    }
    catch (Exception e) { 
      System.out.print("Error loading Mysql Driver!");
      e.printStackTrace();
    }
    try {
      Connection connect = DriverManager.getConnection(
          "jdbc:mysql://localhost:3306/demo_01?serverTimezone=UTC&characterEncoding=utf-8  ","root","root");
           //连接URL为   jdbc:mysql//服务器地址/数据库名  ,后面的2个参数分别是登陆用户名和密码

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


输出了Success connect Mysql server!就是连接没有问题;

5.2

第一个登录界面的制作:如下图所示(这个算是仿的QQ登录界面,然后上面的图是我自己画的

然后刚开始做代码上面还是有很多问题

基于Java JFrame的登录界面+Mysql(一:登录窗口)_第1张图片

package windows;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;

/*
 * 初始登录界面
 */
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import sqldemo.SetDriver;
/*
 * lb为顶端主题图片栏,lb1为注册账户,lb2为找回密码;
 * bt为登录按键,namelb,passwordlab为ID,CODE提示字
 * 
 */
public class Window extends JFrame implements ActionListener{
	/**
	 * 
	 */
	static boolean flag;
	private static final long serialVersionUID = 1L;
	JPanel mb;
	JLabel lb,lb1,lb2,lb3;
	JLabel namelb ,passwordlab;
	JButton bt;
	JTextField username;	
	JPasswordField password;
	JCheckBox select1,select2;
	
	public Window() {
		lb=new JLabel(new ImageIcon("C:\\计算机学习\\java爬虫项目\\工程文件\\interface.png"));
		//这里的图片自己找一张,大小大概 570x160像素图片
		mb=new JPanel();
		username =new JTextField(20);
		password=new JPasswordField(20);
		namelb = new JLabel("ID");
		passwordlab = new JLabel("Code");
		/*
		 * 设置组件信息
		 * 	
		 */
		lb1=new JLabel("注册账号");
		lb1.setForeground(new Color(28,134,238));
		lb1.setFont(new Font("楷体",Font.PLAIN,16));
		lb1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
		
		lb2=new JLabel("找回密码");
		lb2.setForeground(new Color(28,134,238));
		lb2.setFont(new Font("楷体",Font.PLAIN,16));
		lb2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
		//设为与背景相同颜色就看不出来
		select1=new JCheckBox("记住密码");
		select1.setFont(new Font("楷体",Font.PLAIN,15));
		select1.setBackground(Color.WHITE);
		
		select2=new JCheckBox("自动登陆");
		select2.setFont(new Font("楷体",Font.PLAIN,15));
		select2.setBackground(new Color(255,250,250));
		
		bt=new JButton("登 录");
		//将面板的布局设为null,然后自定义布局	
		mb.setLayout(null);
		mb.setBackground(Color.white);
		//x,y,width,height; 130为左侧居中位置
		/*
		 * 设置位置
		 */
		username.setBounds(130, 14, 250, 37);
		username.setFont(new Font("宋体",Font.PLAIN,16));	
		password.setBounds(130,48, 250, 37);
		password.setFont(new Font("宋体",Font.PLAIN,16));
		namelb.setBounds(50,14,40,37);
		passwordlab.setBounds(50, 48, 40, 37);
		lb1.setBounds(420,10,80,34);
		lb2.setBounds(420,50,80,34);
		select1.setBounds(130,90,120,20);
		select2.setBounds(290,90,120,20);
		bt.setBounds(130,130,250,37);
		bt.setFont(new Font("宋体",Font.PLAIN,16));
		bt.setBackground(new Color(0,178,238));
		bt.setForeground(Color.white);
		
		//将组建添加到面板当中
		mb.add(lb2);mb.add(lb1);mb.add(select1);mb.add(select2);
		mb.add(bt);mb.add(username);mb.add(password);
		mb.setSize(540,190);mb.add(namelb);mb.add(passwordlab);
		this.add(lb,BorderLayout.NORTH);	
		this.add(mb,BorderLayout.CENTER);
		this.setSize(550, 400);
		//框头
		this.setTitle("登录界面");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLocation(400, 180);
		this.setResizable(false);
		this.setVisible(true);
		bt.addActionListener(this);
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Window frame1 =new Window();
	}
	public void getJudge(SetDriver d) throws SQLException, Exception {
		flag = d.codeJudge();
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(e.getSource()==bt)
		{
			String tname = username.getText();
			String tpass = new String (password.getPassword());
			username.setText("");
			password.setText("");
			SetDriver d = new SetDriver(tname,tpass);
			
			lb.setIcon(new ImageIcon("C:\\loading2.gif"));
			if(tname == null||tpass == null) {
				
			}else {
				try {
					getJudge(d);
				} catch (Exception e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				if(flag) 	lb.setIcon(new ImageIcon("C:\\loading1.gif"));
			}
		}
	}
	
}

在自己疯狂debug后....终于解决了连接数据库登录界面关卡...

准备开始下一步 注册界面了...

https://blog.csdn.net/qq_42825732/article/details/90116999

你可能感兴趣的:(登录界面+爬虫项目)