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

📄 dsblmainframe.java

📁 JAVA开发的
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton4() {
		if (jButton4 == null) {
			jButton4 = new JButton();
			jButton4.setBounds(new java.awt.Rectangle(404,171,24,20));
			jButton4.setText("...");
			jButton4.addActionListener(new jb4ActionListener(this));
		}
		return jButton4;
	}
	
	private class jb4ActionListener implements java.awt.event.ActionListener {
		private DSBLMainFrame father;

		jb4ActionListener(DSBLMainFrame f) {
			super();
			father = f;
		}

		public void actionPerformed(java.awt.event.ActionEvent e) {
			JFileChooser fileChooser = new JFileChooser();
			fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
			int result = fileChooser.showOpenDialog(father);
			if (result == JFileChooser.APPROVE_OPTION) {
				File f = fileChooser.getSelectedFile();
				try {
					father.getJTextField3().setText(f.toString());
				} catch (Exception e1) {
					JOptionPane.showMessageDialog(father, e1.toString(), "错误!",
							JOptionPane.ERROR_MESSAGE);
				}

			}
		}
	}

	/**
	 * This method initializes jButton5	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton5() {
		if (jButton5 == null) {
			jButton5 = new JButton();
			jButton5.setBounds(new java.awt.Rectangle(404,200,24,20));
			jButton5.setText("...");
			jButton5.addActionListener(new jb5ActionListener(this));
		}
		return jButton5;
	}
	
	private class jb5ActionListener implements java.awt.event.ActionListener {
		private DSBLMainFrame father;

		jb5ActionListener(DSBLMainFrame f) {
			super();
			father = f;
		}

		public void actionPerformed(java.awt.event.ActionEvent e) {
			JFileChooser fileChooser = new JFileChooser();
			fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
			fileChooser.setFileFilter(new JAVAFileFilter3("en"));
			int result = fileChooser.showSaveDialog(father);
			if (result == JFileChooser.APPROVE_OPTION) {
				File f = fileChooser.getSelectedFile();
				String fileName=f.getName();
				int index=fileName.lastIndexOf('.');
				if (index<1){      
	                  f=new File(f.getPath()+".en");
	            }
				int si=JOptionPane.YES_OPTION;
				if(f.exists()) 
					 si=JOptionPane.showConfirmDialog(father,"文件"+f.getPath()+"已经存在,要覆盖它吗?确定覆盖","文件存在",JOptionPane.YES_NO_OPTION);
				if(si==JOptionPane.YES_OPTION) {
				try {
					father.getJTextField4().setText(f.toString());
				} catch (Exception e1) {
					JOptionPane.showMessageDialog(father, e1.toString(), "错误!",
							JOptionPane.ERROR_MESSAGE);
				}
				}

			}
		}
	}
	
	

	/**
	 * This method initializes jTextField4	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextField4() {
		if (jTextField4 == null) {
			jTextField4 = new JTextField();
			jTextField4.setBounds(new java.awt.Rectangle(95,199,303,22));
		}
		return jTextField4;
	}

	/**
	 * This method initializes jButton6	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton6() {
		if (jButton6 == null) {
			jButton6 = new JButton();
			jButton6.setBounds(new java.awt.Rectangle(455,199,97,23));
			jButton6.setText("生成签名");
			jButton6.addActionListener(new jb6ActionListener(this));
		}
		return jButton6;
	}
	private class jb6ActionListener implements java.awt.event.ActionListener {
		private DSBLMainFrame father;

		jb6ActionListener(DSBLMainFrame f) {
			super();
			father = f;
		}

		public void actionPerformed(java.awt.event.ActionEvent e) {
			String md5digest=null;
			try {
				if(father.priKey!=null){
				File ftemp = new File(father.getJTextField3().getText());
				lyMD5 md5 = new lyMD5();
				md5digest = md5.getMD5Digest(ftemp);
				// java.sql.Date dtmp=new java.sql.Date(new
				// java.util.Date().getTime());
				father.getJTextPane().getDocument().insertString(
						father.getJTextPane().getDocument().getLength(),
						"(" + new java.util.Date() + ":)文件消息摘要=" + md5digest
								+ "\n", sas);
				byte[] raw = lyRSA.encrypt(father.priKey, md5digest.getBytes());
				File file = new File(father.getJTextField4().getText());
				OutputStream out = new FileOutputStream(file);
				out.write(raw);
				out.close();
				father.getJTextPane().getDocument().insertString(
						father.getJTextPane().getDocument().getLength(),
						"(" + new java.util.Date() + ":)签名已经生成到文件:" + file
								+ "\n", sas);
				}else {
					JOptionPane.showMessageDialog(father, "请选择加密密钥,或生成它。",
							"错误!", JOptionPane.ERROR_MESSAGE);
				}
			} catch (FileNotFoundException e1) {
				JOptionPane.showMessageDialog(father, "请输入正确的文件名,或选择文件。",
						"错误!", JOptionPane.ERROR_MESSAGE);
			} catch (Exception e2) {
				JOptionPane.showMessageDialog(father, e2.toString(), "错误!",
						JOptionPane.ERROR_MESSAGE);
			}

		}
	}

	/**
	 * This method initializes jScrollPane3	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane3() {
		if (jScrollPane3 == null) {
			jScrollPane3 = new JScrollPane();
			jScrollPane3.setBounds(new java.awt.Rectangle(17,31,544,93));
			jScrollPane3.setViewportView(getJTable1());
		}
		return jScrollPane3;
	}

	/**
	 * This method initializes jTable1	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJTable1() {
		if (jTable1 == null) {
			jTable1 = refreshJTable1();
		}
		return jTable1;
	}
	
	public JTable refreshJTable1() {
		String[] c2 = { "编号", "名称", "描述", "公钥", "创建日期" };
		
		int i = 0;
		ResultSet rs = null;
		JTable jtp=null;
		try {
			con=this.getConnection();
			PreparedStatement pst = con
					.prepareStatement("select count(*) from ORSA");
			rs = pst.executeQuery();
			if (rs.next())
				i = rs.getInt(1);
			pst = con.prepareStatement("select * from ORSA");
			rs = pst.executeQuery();
			int j = 0;
			Object[][] c1 = new String[i][5];
			while (rs.next()) {
				c1[j][0] = Integer.toString(rs.getInt("id"));
				c1[j][1] = new String(rs.getString("name").trim());
				c1[j][2] = new String(rs.getString("description").trim());
				c1[j][3] = new String("长二进制数据");
				c1[j][4] = new String(rs.getString("create_data").trim());
				j++;
			}
			jtp = new MyJTable(c1, c2);
			jtp.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
			rs.close();
			pst.close();
			jtp.addMouseListener(jml2);
			getJScrollPane3().addMouseListener(jml2);
			getJScrollPane3().setViewportView(jtp);
			getJScrollPane3().repaint();
			return jtp;
		} catch (Exception e) {
			System.out.println(e);
		}
		return null;
	}
	
	private class jtable1MouseListener extends java.awt.event.MouseAdapter {
		private DSBLMainFrame father;

		jtable1MouseListener(DSBLMainFrame f) {
			super();
			father = f;
		}

		public void mouseClicked(java.awt.event.MouseEvent e) {
			
			if (e.getButton() == java.awt.event.MouseEvent.BUTTON3) {
				int i[]=father.getJTable1().getSelectedRows();
				
				if(i.length==0){
					father.getJMenuItem14().setEnabled(false);
					father.getJMenuItem12().setEnabled(false);
					father.getJMenuItem15().setEnabled(false);
				}
				if(i.length>0){
					father.getJMenuItem12().setEnabled(true);
					father.getJMenuItem12().setText("删除这"+i.length+"行");
					if(i.length>1) {
						father.getJMenuItem14().setEnabled(false);
						father.getJMenuItem12().setEnabled(false);
						father.getJMenuItem15().setEnabled(false);
						
					}else {
						father.getJMenuItem14().setEnabled(true);
						father.getJMenuItem12().setEnabled(true);
						father.getJMenuItem15().setEnabled(true);
					}
				}
				father.getJPopupMenu2().show(e.getComponent(), e.getX(),
						e.getY());
			}
		}
	}

	/**
	 * This method initializes jTextField2	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextField2() {
		if (jTextField2 == null) {
			jTextField2 = new JTextField();
			jTextField2.setBounds(new java.awt.Rectangle(147,132,265,22));
			jTextField2.setEditable(false);
		}
		return jTextField2;
	}

	/**
	 * This method initializes jButton3	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton3() {
		if (jButton3 == null) {
			jButton3 = new JButton();
			jButton3.setBounds(new java.awt.Rectangle(422,132,137,21));
			jButton3.setText("从文件载入密钥");
			jButton3.addActionListener(new jb3ActionListener(this));
		}
		return jButton3;
	}
	
	private class jb3ActionListener implements java.awt.event.ActionListener {
		private DSBLMainFrame father;

		jb3ActionListener(DSBLMainFrame f) {
			super();
			father = f;
		}

		public void actionPerformed(java.awt.event.ActionEvent e) {
			JFileChooser fileChooser = new JFileChooser();
			fileChooser.setFileFilter(new JAVAFileFilter1("pub"));
			fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
			int result = fileChooser.showOpenDialog(father);
			if (result == JFileChooser.APPROVE_OPTION) {
				File f = fileChooser.getSelectedFile();
				try {
					FileInputStream sin=new FileInputStream(f);
					ObjectInputStream oin=new ObjectInputStream(sin);
					RSAPublicKey ptemp=(RSAPublicKey)oin.readObject();
					
					if(ptemp instanceof RSAPublicKey) {
						father.inspectPubKey=ptemp;
						father.getJTextField2().setText("来自文件"+f.getPath());
					}else throw new Exception("文件类型不对");
				} catch (Exception e1) {
					JOptionPane.showMessageDialog(father, "文件找不到或者文件类型不对,非合适类型!", "错误!",
							JOptionPane.ERROR_MESSAGE);
				}

			}
		}
	}

	/**
	 * This method initializes jTextField5	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextField5() {
		if (jTextField5 == null) {
			jTextField5 = new JTextField();
			jTextField5.setBounds(new java.awt.Rectangle(147,157,267,22));
		}
		return jTextField5;
	}

	/**
	 * This method initializes jButton7	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton7() {
		if (jButton7 == null) {
			jButton7 = new JButton();
			jButton7.setBounds(new java.awt.Rectangle(420,157,26,20));
			jButton7.setText("...");
			jButton7.addActionListener(new jb7ActionListener(this));
		}
		return jButton7;
	}
	
	private class jb7ActionListener implements java.awt.event.ActionListener {
		private DSBLMainFrame father;

		jb7ActionListener(DSBLMainFrame f) {
			super();
			father = f;
		}

		public void actionPerformed(java.awt.event.ActionEvent e) {
			JFileChooser fileChooser = new JFileChooser();
			fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
			int result = fileChooser.showOpenDialog(father);
			if (result == JFileChooser.APPROVE_OPTION) {
				File f = fileChooser.getSelectedFile();
				try {
					father.getJTextField5().setText(f.toString());
				} catch (Exception e1) {
					JOptionPane.showMessageDialog(father, e1.toString(), "错误!",
							JOptionPane.ERROR_MESSAGE);
				}

			}
		}
	}
	

	/**
	 * This method initializes jTextField6	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextField6() {
		if (jTextField6 == null) {
			jTextField6 = new JTextField();
			jTextField6.setBounds(new java.awt.Rectangle(148,181,266,22));
		}
		return jTextField6;
	}

	/**
	 * This method initializes jButton8	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton8() {
		if (jButton8 == null) {
			jButton8 = new JButton();
			jButton8.setBounds(new java.awt.Rectangle(420,180,27,22));
			jButton8.setText("...");
			jButton8.addActionListener(new jb8ActionListener(this));
		}
		return jButton8;
	}
	
	private class jb8ActionListener implements java.awt.event.ActionListener {
		private DSBLMainFrame father;

		jb8ActionListener(DSBLMainFrame f) {
			super();
			father = f;
		}

		public void actionPerformed(java.awt.event.ActionEvent e) {
			JFileChooser fileChooser = new JFileChooser();

⌨️ 快捷键说明

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