?? dsblmainframe.java
字號:
*
* @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 + -