生活随笔
收集整理的這篇文章主要介紹了
java完成登录页面+连接数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java完成登錄頁面+連接數據庫
所用的包簡單介紹:
部分資料來自網上,如有侵權聯系刪除。
ActionEvent:處理東、南、西、北四個按鈕,以及文本框的actionevent事件。當事件發生,,監視器計算字符的長度,并在命令行窗體顯示按鈕的文本內容或文本框的文本內容。
監聽器(Listener):監聽器用于監聽web應用中某些對象、信息的創建、銷毀、增加,修改,刪除等動作的發生,然后作出相應的響應處理。當范圍對象的狀態發生變化的時候,服務器自動調用監聽器對象中的方法。常用于統計在線人數和在線用戶,系統加載時進行信息初始化,統計網站的訪問量等等。
ActionListener:ActionListener用于接收操作事件的偵聽器接口。對處理操作事件感興趣的類可以實現此接口,而使用該類創建的對象可使用組件的 addActionListener 方法向該組件注冊。在發生操作事件時,調用該對象的 actionPerformed 方法。
MouseListener:處理鼠標事件的類要么實現此接口(及其包含的所有方法),要么擴展抽象類 MouseAdapter(僅重寫所需的方法)。 然后使用組件的 addMouseListener 方法將從該類所創建的偵聽器對象向該組件注冊。當按下、釋放或單擊(按下并釋放)鼠標時會生成鼠標事件。鼠標光標進入或離開組件時也會生成鼠標事件。發生鼠標事件時,將調用該偵聽器對象中的相應方法,并將 MouseEvent 傳遞給該方法。
MouseAdapter:用于接收鼠標事件的抽象適配器類。 這個類中的方法是空的。 此類作為創建偵聽器對象的方便而存在。
Connection的常用功能
boolean add(E e) 永遠可以添加成功,可以有重復值
void clear() 清空集合
boolean contains(Object o) 判斷集合中是否包含指定字符
boolean isEmpty() 集合是否為空
boolean remove(Object o) 刪除集合指定元素
int size() 返回集合中元素個數
Object[] toArray() 將集合轉換成Object類型數組
DriverManager:
詳細可以參考官網
https://docs.oracle.com/javase/8/docs/api/java/sql/DriverManager.html
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;class DbUtil {static Connection conn
=null;static Statement sm
=null;static ResultSet rs
=null;static String driver
="com.mysql.jdbc.Driver";static String url
="jdbc:mysql://localhost:3306/libmanagement";static String username
="root";static String password
="root";static{try {Class.forName("com.mysql.jdbc.Driver");conn
=DriverManager.getConnection(url
, username
, password
);sm
=conn
.createStatement();} catch (ClassNotFoundException e
) {e
.printStackTrace();} catch (SQLException e
) {e
.printStackTrace();} }public static ResultSet getResult(String sql
){try {rs
=sm
.executeQuery(sql
);} catch (SQLException e
) {e
.printStackTrace();}return rs
;}
}
public class LoginDemo extends DbUtil {public static void main(String[] args
) {SwingUtilities.invokeLater(() -> createAndShowGUI());}public static boolean checkByUnameAndPwd(String uname
,String pwd
){String sql
="select * from user where uname='"+uname
+"' and pwd='"+pwd
+"' ";ResultSet rs
=getResult(sql
);boolean flag
=false;try {while(rs
.next()){flag
=true;}} catch (SQLException e
) {e
.printStackTrace();}return flag
;}public static void createAndShowGUI() {JFrame f
=new JFrame();f
.setTitle("登錄");f
.setSize(210, 164);f
.setLocationRelativeTo(null);f
.setResizable(false);f
.setVisible(true);f
.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
);FlowLayout layout
= new FlowLayout();layout
.setVgap(12);f
.setLayout(layout
);JLabel lblUser
= new JLabel("用戶名:");JLabel lblPass
= new JLabel("密 碼:");JTextField txtUser
= new JTextField(10);JPasswordField pwdPass
= new JPasswordField(10);JPanel panel
=new JPanel();layout
= new FlowLayout();layout
.setHgap(30);panel
.setLayout(layout
);JButton btnLogin
= new JButton("登錄");JButton btnExit
= new JButton("退出");f
.add(lblUser
);f
.add(txtUser
);f
.add(lblPass
);f
.add(pwdPass
);panel
.add(btnLogin
);panel
.add(btnExit
);f
.add(panel
);btnLogin
.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e
) {if (checkByUnameAndPwd(txtUser
.getText(),new String(pwdPass
.getPassword()))) {JOptionPane.showMessageDialog(f
, "歡迎登錄");} else {JOptionPane.showMessageDialog(f
, "用戶名或密碼錯誤!");}}});btnExit
.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e
) {JOptionPane.showMessageDialog(f
, "歡迎下次再來!");System.exit(0);}});}
}
結果圖
我希望順子的代碼給您的是一種思路,而非懶惰的工具,通往強大的路上沒有捷徑。
感謝看完!
awt實現計算器
總結
以上是生活随笔為你收集整理的java完成登录页面+连接数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。