⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systemoperation.java

📁 这是一个简单的图书管理系统,适用于教学中演示,讲解java高级编程语言
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
		jPanel.add(Button[2]);
		jPanel.add(Button[3]);
		jPanel.add(Button[4]);
		jPanel.add(new JLabel(new ImageIcon(ClassLoader
				.getSystemResource("images/终于,我们相遇了.JPG")), JLabel.CENTER));
		mPanel.add(jPanel);
		mPanel.add(new JLabel(new ImageIcon(ClassLoader
				.getSystemResource(s1[3])), JLabel.CENTER));
		DeckPanel.add("数据备份", mPanel);
		mPanel = new JPanel();
		mPanel.setLayout(new FlowLayout());
		mPanel.setBorder(new BevelBorder(BevelBorder.RAISED));
		jPanel = new JPanel();
		jPanel.setLayout(new FlowLayout());
		jPanel.setBorder(new BevelBorder(BevelBorder.RAISED));
		jPanel.add(new JLabel("源  文 件"));
		jPanel.add(txt[2]);
		jPanel.add(Button[5]);
		mPanel.add(jPanel);
		jPanel = new JPanel();
		jPanel.setLayout(new FlowLayout());
		jPanel.setBorder(new BevelBorder(BevelBorder.RAISED));
		jPanel.add(new JLabel("目标文件"));
		jPanel.add(txt[3]);
		jPanel.add(Button[6]);
		mPanel.add(jPanel);
		jPanel = new JPanel();
		jPanel.setLayout(new FlowLayout());
		jPanel.setBorder(new BevelBorder(BevelBorder.RAISED));
		jPanel.add(new JLabel(new ImageIcon(ClassLoader
				.getSystemResource("images/月光下的承诺.JPG")), JLabel.CENTER));
		jPanel.add(Button[7]);
		jPanel.add(Button[8]);
		jPanel.add(Button[9]);
		jPanel.add(new JLabel(new ImageIcon(ClassLoader
				.getSystemResource("images/忆.JPG")), JLabel.CENTER));
		mPanel.add(jPanel);

		mPanel.add(new JLabel(new ImageIcon(ClassLoader
				.getSystemResource(s1[4])), JLabel.CENTER));
		DeckPanel.add("数据恢复", mPanel);

		content.add(DeckPanel, BorderLayout.CENTER);
		Dimension screen = getToolkit().getScreenSize();
		setLocation((screen.width - getSize().width) / 2,
				(screen.height - getSize().height) / 2);
	}

	public boolean copy(String file1, String file2) { // 拷贝文件方法
		try {
			java.io.File fileIn = new java.io.File(file1); // 用路径名生成源文件
			java.io.File fileOut = new java.io.File(file2); // 用路径名生成目标文件
			FileInputStream fin = new FileInputStream(fileIn); // 得到文件输入流
			FileOutputStream fout = new FileOutputStream(fileOut); // 得到文件输出流
			byte[] bytes = new byte[1024]; // 初始化字节数组,用于缓冲
			int c;
			while ((c = fin.read(bytes)) != -1) { // 如果文件未读完
				fout.write(bytes, 0, c); // 将读取的字节数组写入目标文件输出流中
			}
			fin.close(); // 关闭输入流
			fout.close(); // 关闭输出流
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	public void actionPerformed(ActionEvent e) {
		String s = e.getActionCommand().trim();
		if (s.equals("图书库操作")) {
			Dealer.show(DeckPanel, "图书库操作 ");
		} else if (s.equals("读者库操作")) {
			Dealer.show(DeckPanel, "读者库操作 ");
		} else if (s.equals("数据统计")) {
			Dealer.show(DeckPanel, "数据统计");

		} else if (s.equals("系统设置")) {
			Dealer.show(DeckPanel, "系统设置");
		} else if (s.equals("数据备份")) {
			Dealer.show(DeckPanel, "数据备份");

		} else if (s.equals("数据恢复")) {
			Dealer.show(DeckPanel, "数据恢复");

		} else if (s.equals("口令更改")) {
			Dealer.show(DeckPanel, "口令更改");
		} else if (s.equals("锁定屏幕")) {

			try {
				Runtime rt = Runtime.getRuntime();
				rt.exec("挂机锁.exe");
			} catch (Exception exx) {
			}
		} else if (s.equals("返回主界面")) {
			dispose();
			new LibraryManagementSystem().setVisible(true);
		} else if (s.equals("退出程序")) {
			dispose();
		} else
			JOptionPane.showMessageDialog(this, "按钮监听注册出现错误!");
	}

	class SelectFileListener1 implements ActionListener { // 取得目录内容的事件处理
		public void actionPerformed(ActionEvent event) {
			int res = fileChooser[0].showOpenDialog(SystemOperation.this);
			if (res == JFileChooser.APPROVE_OPTION) {// 弹出文件选择器,并判断是否点击了打开按钮
				String fileName = fileChooser[0].getSelectedFile()
						.getAbsolutePath(); // 得到选择文件的绝对路径
				if (event.getSource().equals(Button[0])) { // 判断事件来自于哪个按钮
					txt[0].setText(fileName); // 设置源文件路径
				}
				if (event.getSource().equals(Button[1])) {
					txt[1].setText(fileName); // 设置目标文件路径
				}
			}
		}
	}

	class SelectFileListener2 implements ActionListener { // 取得目录内容的事件处理
		public void actionPerformed(ActionEvent event) {
			// fileChooser[1].setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
			if (fileChooser[1].showOpenDialog(SystemOperation.this) == JFileChooser.APPROVE_OPTION) { // 弹出文件选择器,并判断是否点击了打开按钮
				String fileName = fileChooser[1].getSelectedFile()
						.getAbsolutePath(); // 得到选择文件的绝对路径
				if (event.getSource().equals(Button[5])) { // 判断事件来自于哪个按钮
					txt[2].setText(fileName); // 设置源文件路径
				}
				if (event.getSource().equals(Button[6])) {
					txt[3].setText(fileName); // 设置目标文件路径
				}
			}
		}
	}

	private class BookUp implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			if (text1[0][0].getText().trim().equals("")
					& text1[0][1].getText().trim().equals(""))
				JOptionPane.showMessageDialog(SystemOperation.this,
						"请给出图书编号或图书序号!");
			else {
				String[] sd = new String[9];

				try {
					Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
					Connection con = DriverManager.getConnection(dbURL, user,
							pw);
					Statement st = con.createStatement();
					ResultSet rs;

					if (!text1[0][1].getText().trim().equals("")) {
						int num = 0;
						rs = st
								.executeQuery("SELECT * FROM Book WHERE 图书编号 = '"
										+ text1[0][1].getText() + "'");
						while (rs.next())
							num = Integer.parseInt(rs.getString("图书序号"));
						// System.out.println(num);
						if (num == 1) {
							JOptionPane.showMessageDialog(SystemOperation.this,
									"已经到达第一本书,无法再上移!");
							rs = st
									.executeQuery("SELECT * FROM Book WHERE 图书编号='"
											+ text1[0][1].getText().trim()
											+ "'");
							while (rs.next()) {
								for (int i = 0; i < sd.length; i++)
									sd[i] = rs.getString((i + 1));
							}
							for (int i = 0; i < sd.length; i++) {
								text1[0][i].setText(sd[i]);
							}
							comboBox[0].setSelectedItem(sd[sd.length - 1]);
						} else {
							rs = st.executeQuery("SELECT * FROM Book WHERE 图书序号='"
											+ Integer.toString(num - 1) + "'");
							while (rs.next()) {
								for (int i = 0; i < sd.length; i++)
									sd[i] = rs.getString((i + 1));
							}
							for (int i = 0; i < sd.length; i++) {
								text1[0][i].setText(sd[i]);

							}
							comboBox[0].setSelectedItem(sd[sd.length - 1]);
						}
					} else {

						int num = Integer
								.parseInt(text1[0][0].getText().trim());
						if (num == 1) {
							JOptionPane.showMessageDialog(SystemOperation.this,
									"已经到达第一本书,无法再上移!");
							rs = st
									.executeQuery("SELECT * FROM Book WHERE 图书序号= '1 "
											+ "'");
							while (rs.next()) {
								for (int i = 0; i < sd.length; i++)
									sd[i] = rs.getString((i + 1));
							}
							for (int i = 0; i < sd.length; i++) {
								text1[0][i].setText(sd[i]);
							}
							comboBox[0].setSelectedItem(sd[sd.length - 1]);
						} else {
							rs = st
									.executeQuery("SELECT * FROM Book WHERE 图书序号='"
											+ Integer.toString(num - 1) + "'");
							while (rs.next()) {
								for (int i = 0; i < sd.length; i++)
									sd[i] = rs.getString((i + 1));
							}
							for (int i = 0; i < sd.length; i++) {
								text1[0][i].setText(sd[i]);
							}
							comboBox[0].setSelectedItem(sd[sd.length - 1]);
						}
					}
					con.close();
				} catch (Exception ex) {
					JOptionPane.showMessageDialog(SystemOperation.this,
							"数据库连接错误!\n" + ex);
					ex.printStackTrace();
				}
			}
		}
	}

	private class BookDown implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			if (text1[0][0].getText().trim().equals("")
					& text1[0][1].getText().trim().equals(""))
				JOptionPane.showMessageDialog(SystemOperation.this,
						"请给出图书编号或图书序号!");
			else {
				String[] sd = new String[9];

				try {
					Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
					Connection con = DriverManager.getConnection(dbURL, user,
							pw);
					Statement st = con.createStatement();
					ResultSet rs;

					if (!text1[0][1].getText().trim().equals("")
							& text1[0][0].getText().trim().equals("")) {
						int num = 0, count = 0;

						rs = st.executeQuery("SELECT * FROM Book ");
						while (rs.next()) {
							count++;
						}
						if (num == count) {
							JOptionPane.showMessageDialog(SystemOperation.this,
									"已经到达最后一本书,无法再下移!");
							rs = st
									.executeQuery("SELECT * FROM Book WHERE 图书序号= ' "
											+ num + "'");
							while (rs.next()) {
								for (int i = 0; i < sd.length; i++)
									sd[i] = rs.getString((i + 1));
							}
							for (int i = 0; i < sd.length; i++) {
								text1[0][i].setText(sd[i]);
							}
							comboBox[0].setSelectedItem(sd[sd.length - 1]);

						} else {
							rs = st
									.executeQuery("SELECT * FROM Book WHERE 图书编号='"
											+ text1[0][1].getText().trim()
											+ "'");

							while (rs.next()) {

								num = Integer.parseInt(rs.getString("图书序号")) + 1;

							}
							// System.out.println(count);

							rs = st
									.executeQuery("SELECT * FROM Book WHERE 图书序号='"
											+ Integer.toString(num) + "'");
							while (rs.next()) {
								for (int i = 0; i < sd.length; i++)
									sd[i] = rs.getString((i + 1));
							}
							for (int i = 0; i < sd.length; i++) {
								text1[0][i].setText(sd[i]);
							}
							comboBox[0].setSelectedItem(sd[sd.length - 1]);
						}
					} else {
						int num = Integer
								.parseInt(text1[0][0].getText().trim()), count = 0;
						rs = st.executeQuery("SELECT * FROM Book ");
						while (rs.next()) {
							count++;
						}
						// System.out.println(count);
						if (num == count) {
							JOptionPane.showMessageDialog(SystemOperation.this,
									"已经到达最后一本书,无法再下移!");
							rs = st
									.executeQuery("SELECT * FROM Book WHERE 图书序号= '"
											+ num + "'");
							while (rs.next()) {
								for (int i = 0; i < sd.length; i++)
									sd[i] = rs.getString((i + 1));
							}
							for (int i = 0; i < sd.length; i++) {
								text1[0][i].setText(sd[i]);
							}
							comboBox[0].setSelectedItem(sd[sd.length - 1]);

						} else {
							rs = st
									.executeQuery("SELECT * FROM Book WHERE 图书序号='"
											+ Integer.toString(num + 1) + "'");
							while (rs.next()) {
								for (int i = 0; i < sd.length; i++)
									sd[i] = rs.getString((i + 1));
							}
							for (int i = 0; i < sd.length; i++) {
								text1[0][i].setText(sd[i]);
							}
							comboBox[0].setSelectedItem(sd[sd.length - 1]);
						}
					}
					con.close();
				} catch (Exception ex) {
					JOptionPane.showMessageDialog(SystemOperation.this,
							"数据库连接错误!\n" + ex);
					ex.printStackTrace();
				}
			}
		}

	}

	private class BookAdd implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			boolean b = true;
			combo = (String) comboBox[0].getSelectedItem();
			for (int i = 1; i < text1[0].length - 1; i++) {

				if (text1[0][i].getText().trim().equals("")
						| combo.trim().equals(""))
					b = false;
			}
			/*
			 * if(comboBox[0].getSelectedItem().equals("")) b=false;
			 */
			if (b == false)
				JOptionPane.showMessageDialog(SystemOperation.this,
						"请给出关于此图书的正确的信息!");
			else if (b == true) {
				try {
					Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
					Connection con = DriverManager.getConnection(dbURL, user,
							pw);
					Statement st = con.createStatement();
					ResultSet rs, rs1;

					rs = st.executeQuery("select * from Book where 图书编号 = '"
							+ text1[0][1].getText() + "'");
					if (rs.next()) {
						JOptionPane.showMessageDialog(SystemOperation.this,
								"该书已存在于列表中!");
					} else {
						rs1 = st.executeQuery("select * from Book");
						int count = 0;
						while (rs1.next()) {
							count++;
						}

						st
								.executeUpdate("insert into Book(图书序号,图书编号,图书书名,图书作者,图书出版社,图书单价,图书摘要,图书分类,图书状态) "
										+ "values('"
										+ Integer.toString(count + 1)
										+ "','"
										+ text1[0][1].getText()
										+ "','"
										+ text1[0][2].getText()
										+ "','"
										+ text1[0][3].getText()
										+ "','"
										+ text1[0][4].getText()
										+ "','"
										+ (text1[0][5].getText())
										+ "','"
										+ text1[0][6].getText()
										+ "','"
										+ text1[0][7].getText()
										+ "','"
										+ combo.trim() + "')");
						text1[0][0].setText(Integer.toString(count + 1));
						JOptionPane.showMessageDialog(SystemOperation.this,
								"该图书已被成功插入图书列表中!");
					}

					con.close();
				} catch (Exception ex) {
					JOptionPane.showMessageDialog(SystemOperation.this,
							"数据库连接错误!\n" + ex);
					ex.printStackTrace();
				}
			}
		}
	}

	private class BookDelete implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			if (text1[0][0].getText().trim().equals("")
					& text1[0][1].getText().trim().equals(""))
				JOptionPane.showMessageDialog(SystemOperation.this,
						"请给出图书编号或图书序号!");
			else {
				try {
					Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
					Connection con = DriverManager.getConnection(dbURL, user,
							pw);
					Statement st = con.createStatement();
					ResultSet rs;

					rs = st.executeQuery("select * from Book");
					int count = 0;
					while (rs.next()) {
						count++;
					}
					if (text1[0][1].getText().trim().equals("")
							& !text1[0][0].getText().trim().equals("")) {

						SelectValue = JOptionPane.showConfirmDialog(
								SystemOperation.this, "是否要删除此图书?删除后将无法恢复!",
								"询问", JOptionPane.YES_NO_OPTION);
						if (SelectValue == 1) {
							JOptionPane.showMessageDialog(SystemOperation.this,
									"删除被取消,该书没有删除!");
						} else {
							rs = st
									.executeQuery("select * from Book where 图书序号 = '"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -