该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Film implements ActionListener {
static JFrame f = null; // 类属性
public Film() // 构造方法
{
f = new JFrame("电影信息管理系统"); // 创建一个顶层容器
Container contentPane = f.getContentPane(); // 获得其内容面板
JPanel buttonPanel = new JPanel(); // 创建一中间容器JPanel
JButton b = new JButton("信息登记"); // 创建一原子组件——按钮
b.addActionListener(this); // 为按钮添加事件监听器对象
buttonPanel.add(b); // 将此按钮添加到中间容器
b = new JButton("信息删除"); // 再创建一按钮
b.addActionListener(this); // 为按钮增加事件监听器
buttonPanel.add(b); // 将按钮添加到中间容器
b = new JButton("信息修改"); // 再创建一按钮
b.addActionListener(this); // 为按钮增加事件监听器
buttonPanel.add(b); // 将按钮添加到中间容器
b = new JButton("信息查询"); // 再创建一按钮
b.addActionListener(this); // 为按钮增加事件监听器
buttonPanel.add(b); // 将按钮添加到中间容器
b = new JButton("退出系统"); // 再创建一按钮
b.addActionListener(this); // 为按钮增加事件监听器
buttonPanel.add(b); // 将按钮添加到中间容器
buttonPanel.setBorder(BorderFactory.createTitledBorder(
// 设置中间容器边框
BorderFactory.createLineBorder(Color.blue, 3), "电影信息操作界面",
TitledBorder.CENTER, TitledBorder.TOP));
contentPane.add(buttonPanel, BorderLayout.CENTER); // 将中间容器添加到内容面板
JMenuBar mBar = new JMenuBar(); // 创建菜单条
JMenu selection = new JMenu("选项");
JMenuItem regist = new JMenuItem("信息登记");
JMenuItem delete = new JMenuItem("信息删除");
JMenuItem sum = new JMenuItem("统计");
selection.add(regist);
selection.add(delete);
selection.add(sum);
JMenu sys = new JMenu("系统");
JMenuItem exit = new JMenuItem("退出系统");
sys.add(exit);
mBar.add(selection);
mBar.add(sys);
f.setJMenuBar(mBar); // 为窗体增加菜单
regist.addActionListener(this); // 为菜单添加事件监听器
delete.addActionListener(this);
sum.addActionListener(this);
exit.addActionListener(this);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter() { // 为窗口操作添加监听器
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) { // 实现ActionListener接口唯一的方法
String cmd = e.getActionCommand(); // 从事件对象获得相关命令名称
if (cmd.equals("信息登记")) { // 根据名称选择相应事件
new RegistSystem(f); // 显示电影信息登记对话框
} else if (cmd.equals("退出系统")) {
System.exit(0);
} else if (cmd.equals("统计")) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 加载驱动器
Connection con = DriverManager.getConnection("jdbc:odbc:FILM",
"Test", "123456");
// 和数据库建立连接
Statement stmt = con.createStatement(); // 创建语句
ResultSet rs = stmt.executeQuery("Select * From film");
int i = 0;
while (rs.next())
i = i + 1;
JOptionPane.showMessageDialog(f, "共有" + i + "部电影信息"); // 显示信息对话框
stmt.close();
con.close(); // 关闭到数据库的连接
} catch (Exception ex) {
}
}
}
public static void main(String args[]) { // 主方法,用于创建Film类的一个对象
//new Film();
new PassWord(f); // 新建一输入密码对话框
}
}
class PassWord implements ActionListener // 输入密码对话框类
{
JTextField user;
JPasswordField passWd;
JButton b1, b2;
Container dialogPane;
JDialog d;
JFrame f;
public PassWord(JFrame f) {
d = new JDialog(); // 新建一对话框
d.setTitle("请输入用户名和密码"); // 设置标题
dialogPane = d.getContentPane();
dialogPane.setLayout(new GridLayout(3, 2));
dialogPane.add(new JLabel("用户名", SwingConstants.CENTER));
user = new JTextField();
dialogPane.add(user);
dialogPane.add(new JLabel("密 码", SwingConstants.CENTER));
passWd = new JPasswordField();
dialogPane.add(passWd);
b1 = new JButton("确定");
b2 = new JButton("退出");
dialogPane.add(b1);
dialogPane.add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
d.setBounds(200, 150, 400, 130);
d.getRootPane().setDefaultButton(b1);
d.setVisible(true);
this.f = f;
}
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("确定")) {
String name = user.getText();
char[] c = passWd.getPassword();
String passWord = new String(c);
if ((name.equals("123")) && (passWord.equals("123"))) {
new Film();
d.dispose();
f.setVisible(true);
return;
} else {
JOptionPane.showMessageDialog(d, "用户名或密码错误", "请重新输入",
JOptionPane.WARNING_MESSAGE);
user.setText("");
passWd.setText("");
}
}
if (cmd.equals("退出"))
System.exit(0);
}
}