java swing 登陸界面code
創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為巴彥淖爾企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站制作,巴彥淖爾網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
/*
* Login.java
*
* Created on __DATE__, __TIME__
*/
package com.agen.library.window;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import com.agen.library.factory.DAOFactory;
import com.agen.library.util.GlobalUser;
import com.agen.library.vo.User;
/**
*
* @author __USER__
*/
public class Login extends javax.swing.JFrame {
/**
*
*/
private static final long serialVersionUID = -2176093732040600809L;
/** Creates new form Login */
public Login() {
super("易云圖書管理軟件V1.0");
Image ime = Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/images/ico.png"));
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setIconImage(ime);
initComponents();
setLocationRelativeTo(null);
this.setResizable(false);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// GEN-BEGIN:initComponents
// editor-fold defaultstate="collapsed" desc="Generated Code"
private void initComponents() {
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jPasswordField1 = new javax.swing.JPasswordField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
jMenuItem2 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
formKeyPressed(evt);
}
public void keyTyped(java.awt.event.KeyEvent evt) {
formKeyTyped(evt);
}
});
jLabel2.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jLabel2.setText("\u7528\u6237\u540d\uff1a");
jLabel3.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jLabel3.setText("\u5bc6 \u7801\uff1a");
jTextField1.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jPasswordField1.setFont(new java.awt.Font("微軟雅黑", 0, 12));
jPasswordField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jPasswordField1KeyTyped(evt);
}
});
jButton1.setBackground(new java.awt.Color(223, 216, 216));
jButton1.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jButton1.setText("\u767b\u9646");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setBackground(new java.awt.Color(223, 216, 216));
jButton2.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jButton2.setText("\u53d6\u6d88");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jLabel1.setIcon(new javax.swing.ImageIcon(
getClass().getResource("/images/login_main.jpg"))); // NOI18N
jMenu1.setText("File");
jMenu1.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_Q,
java.awt.event.InputEvent.CTRL_MASK));
jMenuItem1.setText("Exit");
jMenuItem1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jMenuItem1MouseClicked(evt);
}
});
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);
jMenuBar1.add(jMenu1);
jMenu2.setText("Help");
jMenu2.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jMenuItem2.setText("About");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenu2.add(jMenuItem2);
jMenuBar1.add(jMenu2);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addGroup(
layout.createSequentialGroup()
.addContainerGap()
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
false)
.addComponent(
jLabel2,
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addComponent(
jLabel3)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout.createSequentialGroup()
.addGap(10,
10,
10)
.addComponent(
jButton1)
.addGap(47,
47,
47)
.addComponent(
jButton2))
.addComponent(
jPasswordField1)
.addComponent(
jTextField1,
javax.swing.GroupLayout.DEFAULT_SIZE,
197,
Short.MAX_VALUE))
.addContainerGap()))));
layout.setVerticalGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(
jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
24,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(
jPasswordField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
23,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addContainerGap(
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)));
pack();
}// /editor-fold
// GEN-END:initComponents
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
About.start();
}
private void jPasswordField1KeyTyped(java.awt.event.KeyEvent evt) {
if (evt.getKeyChar() == '\n') {
String name = jTextField1.getText(); // 獲取用戶名
String pass = String.valueOf(jPasswordField1.getPassword());// 獲取密碼
User user = null;
// 未輸入用戶名
if (name.equals("") || name == null) {
JOptionPane.showMessageDialog(this, "用戶名不允許為空!", "cuowu", 0);
return;
}
try {
user = DAOFactory.getIUserDAOInstance().findById(name);
if (user != null) {
if (user.getPass() != null user.getPass().equals(pass)) {
GlobalUser.LOGIN_USER = user; // 記錄當(dāng)前用戶
// 進(jìn)入主界面
Main.start();
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!");
return;
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (user == null) {
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!", "消息", 0);
return;
}
}
}
private void formKeyTyped(java.awt.event.KeyEvent evt) {
}
private void formKeyPressed(java.awt.event.KeyEvent evt) {
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextField1.setText("");
jPasswordField1.setText("");
jTextField1.requestFocus();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String name = jTextField1.getText(); // 獲取用戶名
String pass = String.valueOf(jPasswordField1.getPassword());// 獲取密碼
User user = null;
// 未輸入用戶名
if (name.equals("")) {
JOptionPane.showMessageDialog(this, "用戶名不允許為空!");
return;
}
try {
user = DAOFactory.getIUserDAOInstance().findById(name);
if (user != null) {
if (user.getPass() != null user.getPass().equals(pass)) {
GlobalUser.LOGIN_USER = user; // 記錄當(dāng)前用戶
// 進(jìn)入主界面
Main.start();
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!", "消息", 0);
return;
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (user == null) {
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!", "消息", 0);
return;
}
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
if (JOptionPane.showConfirmDialog(this, "你確定要退出嗎?", "提示",
JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
private void jMenuItem1MouseClicked(java.awt.event.MouseEvent evt) {
System.exit(1);
}
/**
* @param args
* the command line arguments
*/
public static void main(String args[]) {
// System.out.println(Login.class.getResource("src/images/images/login_main.jpg"));
// new javax.swing.ImageIcon(
// Login.class.getResource("../../../../images/login_main.jpg"));
// new Login().setVisible(true);
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Login().setVisible(true);
}
});
}
// GEN-BEGIN:variables
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JTextField jTextField1;
// End of variables declaration//GEN-END:variables
}
倒數(shù)據(jù)庫連接類jar包以SQL Server 2005 為例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionUtil {
private static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String URL = "jdbc:sqlserver://127.0.0.1:1433;databaseName=數(shù)據(jù)庫名";// 127.0.0.1
private static String USERNAME = "登錄名";
private static String PASSWORD = "登錄密碼";
private static Connection CON = null;
public static Connection openConnection() {
try {
Class.forName(DRIVER);
CON = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return CON;
}
public static void closeConnection() {
try {
CON.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
import?java.io.File;
import?java.io.FileOutputStream;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Scanner;
import?org.dom4j.Document;
import?org.dom4j.DocumentHelper;
import?org.dom4j.Element;
import?org.dom4j.io.OutputFormat;
import?org.dom4j.io.SAXReader;
import?org.dom4j.io.XMLWriter;
public?class?Book?{
private?int?no;
private?String?name;
private?double?value;
public?Book()?{
}
public?Book(int?no,?String?name,?double?value)?{
this.no?=?no;
this.name?=?name;
this.value?=?value;
}
public?double?getValue()?{
return?value;
}
public?void?setValue(double?value)?{
this.value?=?value;
}
public?String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
public?int?getNo()?{
return?no;
}
public?void?setNo(int?no)?{
this.no?=?no;
}
}
class?BookList?{
private?ListBook?bookList;
public?BookList()?{
bookList?=?readXML();
}
public?long?getCount()?{
return?bookList.size();
}
public?ListBook?getBookList()?{
return?bookList;
}
public?void?setBookList(ListBook?bookList)?{
this.bookList?=?bookList;
}
public?void?add(Book?book)?{
bookList.add(book);
}
public?boolean?delete(String?name)?{
Book?book?=?query(name);
return?bookList.remove(book);
}
public?void?update(Book?bookBefore,?Book?bookAfter)?{
bookList.remove(bookBefore);
add(bookAfter);
}
public?Book?query(String?name)?{
Book?temp?=?null;
for?(Book?book?:?bookList)?{
if?(book.getName().equals(name))?{
temp?=?book;
}
}
return?temp;
}
public?synchronized?void?writeXmlDocument(Book?book)?{
try?{
File?file?=?new?File("D:\\book.xml");
Document?document?=?null;
Element?root?=?null;
if?(!file.exists())?{
//?新建student.xml文件并新增內(nèi)容
document?=?DocumentHelper.createDocument();
root?=?document.addElement("Books");//添加根節(jié)點???
}?else?{
SAXReader?saxReader?=?new?SAXReader();
document?=?saxReader.read(file);
root?=?document.getRootElement();//獲得根節(jié)點
}
Element?secondRoot?=?root.addElement("Book");//二級節(jié)點???
//為二級節(jié)點添加屬性,屬性值為對應(yīng)屬性的值???
secondRoot.addElement("no").setText(book.getNo()?+?"");
secondRoot.addElement("name").setText(book.getName()?+?"");
secondRoot.addElement("value").setText(book.getValue()?+?"");
OutputFormat?format?=?OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter?writer?=?new?XMLWriter(new?FileOutputStream("D:\\book.xml"),?format);
writer.write(document);
writer.close();
document.clearContent();
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
public?synchronized?ListBook?readXML()?{
ListBook?list?=?new?ArrayListBook();//創(chuàng)建list集合???
File?file?=?null;
try?{
file?=?new?File("D:\\book.xml");//讀取文件???
if?(file.exists())?{
SAXReader?saxReader?=?new?SAXReader();
Document?document?=?saxReader.read(file);
List?nodeList?=?document.selectNodes("Books/Book");
for?(int?i?=?0;?i??nodeList.size();?i++)?{
Element?el?=?(Element)?nodeList.get(i);
Book?book?=?new?Book();
book.setNo(Integer.parseInt(el.elementText("no")));
book.setName(el.elementText("name"));
book.setValue(Double.parseDouble(el.elementText("value")));
list.add(book);
}
}
}?catch?(Exception?e)?{
e.printStackTrace();
}
return?list;
}
}
class?Test?{
public?static?void?main(String?args[])?{
BookList?bl?=?new?BookList();
boolean?bBreak?=?true;
while?(bBreak)?{
System.out.println("請輸入操作代碼:");
System.out.println("1:添加?2:刪除?3:修改?4:查詢?5:書籍統(tǒng)計?6:退出");
Scanner?sc?=?new?Scanner(System.in);
int?code?=?sc.nextInt();
if?(code?==?1)?{
System.out.println("請輸入編號");
int?no?=?sc.nextInt();
System.out.println("請輸入書名");
String?name?=?sc.next();
System.out.println("請輸入售價");
double?value?=?sc.nextDouble();
Book?book?=?new?Book(no,?name,?value);
bl.add(book);
bl.writeXmlDocument(book);
}?else?if?(code?==?2)?{
System.out.println("請輸入要刪除的書籍名");
String?name?=?sc.next();
if?(bl.delete(name))?{
System.out.println("刪除成功");
}?else?{
System.out.println("書籍不存在");
}
}?else?if?(code?==?3)?{
System.out.println("請輸入要修改的書籍名");
String?name?=?sc.next();
Book?bookBefore?=?bl.query(name);
System.out.println("請輸入新的編號");
int?newNo?=?sc.nextInt();
System.out.println("請輸入新的書名");
String?newName?=?sc.next();
System.out.println("請輸入新的售價");
double?value?=?sc.nextDouble();
Book?bookAfter?=?new?Book(newNo,?newName,?value);
bl.update(bookBefore,?bookAfter);
}?else?if?(code?==?4)?{
System.out.println("請輸入要查詢的書籍名");
String?name?=?sc.next();
Book?book?=?bl.query(name);
System.out.println("編號:"?+?book.getNo()?+?"?書名:"?+?book.getName()?+?"?售價:"?+?book.getValue());
}?else?if?(code?==?5)?{
ListBook?list?=?bl.getBookList();
System.out.println("總書籍?dāng)?shù):"?+?bl.getCount());
for?(Book?book?:?list)?{
System.out.println("編號:"?+?book.getNo()?+?"?書名:"?+?book.getName()?+?"?售價:"?+?book.getValue());
}
}?else?if?(code?==?6)?{
bBreak?=?false;
}
}
}
}
jar 包 ?dom4j.jar ?jaxen-1.1.4.jar
倒數(shù)據(jù)庫連接類jar包以SQL Server 2005 為例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionUtil {
private static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String URL = "jdbc:sqlserver://127.0.0.1:1433;databaseName=數(shù)據(jù)庫名";// 127.0.0.1
private static String USERNAME = "登錄名";
private static String PASSWORD = "登錄密碼";
private static Connection CON = null;
public static Connection openConnection() {
try {
Class.forName(DRIVER);
CON = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return CON;
}
public static void closeConnection() {
try {
CON.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileReader;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Scanner;
public?class?BookWork?{
static?ListBook?data;
private?static?Scanner?input;
public?static?void?main(String[]?args)?{
if?(!initBook("d:/book.txt"))?{
System.out.println("初始圖書列表失敗?..");
return;
}
input?=?new?Scanner(System.in);
while?(true)?{
try?{
System.out.println("請輸入操作:");
System.out.println("1.找書??2.刪除圖書?3.退出");
int?number?=?Integer.parseInt(input.next());
if?(number?==?1)?{
findBook();
}?else?if?(number?==?2)?{
delBook();
}?else?if?(number?==?3)?{
System.out.println("退出");
break;
}?else?{
System.out.println("這個不是我要的...重來...");
System.out.println();
}
}?catch?(Exception?e)?{
e.printStackTrace();
System.out.println("這個不是我要的...重來...");
System.out.println();
}
}
}
private?static?void?delBook()?{
System.out.println("請輸入要刪除的書名或編號:");
String?key?=?input.next();
if?(key?!=?null??!key.equals(""))?{
for?(Book?book?:?data)?{
if?(book.number.equals(key)?||?book.name.contains(key))?{
data.remove(book);
System.out.println("?圖書?"?+?book.toString()?+?"?已刪除");
return;
}
}
}
System.out.println("沒有您要刪除的");
}
private?static?void?findBook()?{
System.out.println("請輸入要查找的書名或編號:");
String?key?=?input.next();
if?(key?!=?null??!key.equals(""))?{
for?(Book?book?:?data)?{
if?(book.number.equals(key)?||?book.name.contains(key))?{
System.out.println("找到了?圖書?"?+?book.toString());
return;
}
}
}
System.out.println("沒有您要找的");
}
private?static?boolean?initBook(String?string)?{
try?{
System.out.println("圖書導(dǎo)入中...");
System.out.println("列表文件?--?"?+?string);
File?file?=?new?File(string);
if?(!file.exists())?{
return?false;
}
data?=?new?ArrayListBook();
BufferedReader?bufferedReader?=?new?BufferedReader(new?FileReader(file));
String?line?=?"";
while?((line?=?bufferedReader.readLine())?!=?null)?{
String[]?strings?=?line.split(",");
Book?b?=?new?Book(strings[0],?strings[1]);
data.add(b);
System.out.println("導(dǎo)入"?+?b.toString());
}
}?catch?(Exception?e)?{
e.printStackTrace();
return?false;
}
return?true;
}
public?static?class?Book?{
String?number;
String?name;
public?Book(String?number,?String?name)?{
super();
this.number?=?number;
this.name?=?name;
}
@Override
public?String?toString()?{
return?"Book?[編碼:"?+?number?+?",?名稱:"?+?name?+?"]";
}
}
}
001,金瓶梅
002,雜事秘辛
003,飛燕外傳
004,控鶴監(jiān)秘記
005,漢宮春色