日期:2014-05-20 浏览次数:21032 次
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class TestFrame extends JFrame {
// 添加类成员变量
JLabel user = new JLabel("用户名");
JTextField _user = new JTextField(8);
JLabel pwd = new JLabel("密 码");
JPasswordField _pwd = new JPasswordField(8);
JButton login_bt = new JButton("登录");
JButton cancel_bt = new JButton("重置");
JFrame jf = this;
Container c = getContentPane(); // JFrame的容器,用于放置JPanel
JPanel jp = new JPanel(); // JPanel容器,用于放置普通组件
GridBagLayout gbLayoutObj;
GridBagConstraints gbcObj;
// TestFrame类的构造函数
public TestFrame() {
// 设置右上角关闭按钮可用
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置各组件的布局
gbLayoutObj = new GridBagLayout();
gbcObj = new GridBagConstraints();
jp.setLayout(gbLayoutObj);
gbcObj.anchor = GridBagConstraints.EAST;
gbcObj.gridx = 1;
gbcObj.gridy = 1;
gbLayoutObj.setConstraints(user,gbcObj);
gbcObj.gridy = 2;
gbLayoutObj.setConstraints(pwd,gbcObj);
gbcObj.anchor = GridBagConstraints.WEST;
gbcObj.gridx = 2;
gbcObj.gridy = 1;
gbLayoutObj.setConstraints(_user,gbcObj);
gbcObj.gridy = 2;
gbLayoutObj.setConstraints(_pwd,gbcObj);
gbcObj.anchor = GridBagConstraints.SOUTH;
gbcObj.gridx = 1;
gbcObj.gridy = 3;
gbLayoutObj.setConstraints(login_bt,gbcObj);
gbcObj.gridx = 2;
gbLayoutObj.setConstraints(cancel_bt,gbcObj);
// 给用户名文本框添加事件,并设置登录按钮的状态
login_bt.setEnabled(false);
_user.addCaretListener(
new CaretListener() {
public void caretUpdate(CaretEvent e) {
login_bt.setEnabled(!_user.getText().trim().equals(""));
}
}
);
// 给重置按钮添加事件
cancel_bt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
_user.setText("");
_pwd.setText("");
}
});
// 给登录按钮添加事件
login_bt.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event) {
// 连接数据库
DBcon dbcon = new DBcon();
Connection con = dbcon.getConnection();
String sql = "";
// 在数据库中检索用户是否合法
sql = "select * from user where user = ? and pwd = ?;";
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, _user.getText().trim());
ps.setString(2, _pwd.getText().trim());
ResultSet rs = ps.executeQuery();
if(rs.next()) {
// 生成菜单
JMenuBar msgBar = new JMenuBar();
// 生成通讯录管理菜单
JMenu msgMenu = new JMenu("联系人管理");
JMenuItem selectMsg = new JMenuItem("查询联系人");
JMenuItem addMsg = new JMenuItem("增加联系人");
JMenuItem delMsg = new JMenuItem("删除联系人");
JMenuItem altMsg = new JMenuItem("修改联系人信息");
msgMenu.add(selectMsg);
msgMenu.add(addMsg);
msgMenu.add(delMsg);
msgMenu.add(altMsg);
JMenu userMenu = new JMenu("用户管理");
JMenuItem selectUser = new JMenuItem("查询用户");
JMenuItem addUser = new JMenuItem("增加用户");
JMenuItem delUser = new JMenuItem("删除用户");
JMenuItem altUser = new JMenuItem("修改用户");
userMenu.add(selectUser);
userMenu.add(addUser);
userMenu.add(delUser);
userMenu.add(altUser);
msgBar.add(msgMenu);
msgBar.add(userMenu);
/* 给菜单添加事件 */
selectMsg.addActionListener(new SelectMsg(jf)); // 查询联系人信息
selectUser.addActionListener(new SelectUser(jf)); // 查询用户
addMsg.addActionListener(new AddMsg(jf)); // 增加联系人信息
addUser.addActionListener(new AddUser(jf));// 增加用户
altUser.addActionListener(new ModifyUser(jf)); // 修改用户密码
altMsg.addActionListener(new ModifyMsg(jf)); // 修改联系人信息
delUser.addActionListener(new DelUser(jf)); // 删除用户
delMsg.addActionListener(new DelMsg(jf)); // 删除联系人信息
// 在JFrame中设置菜单
setJMenuBar(msgBar);
jp = new JPanel();
setContentPane(jp);
setVisible(true);
}
else {
JOptionPane.showMessageDialog(null,"用户名或密码输入错误,再确认后再次输入!");
_pwd.setText("");
}
}
catch(SQLException e) {
System.out.println("error:" + e.getMessage());
}
}
}
);
// 将各普通组件加入JPanel面板中
jp.add(user);
jp.add(_user);
jp.add(pwd);
jp.add(_pwd);
jp.add(login_bt);
jp.add(cancel_bt);
// 将JPanel放入JFrame中
setContentPane(jp);
setVisible(true);
}
public static void main(String[] args) {
new TestFrame();
}
}