Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package view;
- import java.awt.Color;
- import java.io.File;
- import javax.swing.JFileChooser;
- import javax.swing.filechooser.FileFilter;
- import java.awt.Dimension;
- import java.awt.Toolkit;
- import javax.swing.JOptionPane;
- import enkripsi.Enkrip;
- import java.io.FileOutputStream;
- import javax.swing.JFrame;
- import controller.controllerTeruskan;
- public class viewEnkripsiFile extends javax.swing.JDialog {
- private final Enkrip enkripsi = new Enkrip();
- private final controllerTeruskan terus = new controllerTeruskan();
- private JFileChooser jfc;
- private static File file;
- private static String ekstensi;
- public viewEnkripsiFile(java.awt.Frame parent, boolean modal) {
- super(parent, modal);
- initComponents();
- jLabel2.setVisible(false);
- jLabel3.setVisible(false);
- passwordField.setVisible(false);
- confirmPasswordField.setVisible(false);
- aturFrame(0.85,true);
- file=null;
- passwordField.setText(terus.getPassword());
- confirmPasswordField.setText(terus.getPassword());
- }
- private void aturFrame(double skala, boolean tengah){
- Dimension dimensi = Toolkit.getDefaultToolkit().getScreenSize();
- if (tengah){
- setLocation ((int) ((dimensi.getWidth()-getWidth())/2),
- (int)((dimensi.getHeight()-getHeight())/2));
- }
- }
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- panel1 = new editSwing.Panel();
- okButton = new javax.swing.JButton();
- fileLabel = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- passwordField = new javax.swing.JPasswordField();
- jButton4 = new javax.swing.JButton();
- confirmPasswordField = new javax.swing.JPasswordField();
- jLabel3 = new javax.swing.JLabel();
- miripLabel = new javax.swing.JLabel();
- jSeparator1 = new javax.swing.JSeparator();
- jLabel4 = new javax.swing.JLabel();
- setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- setTitle("Enkripsi");
- setResizable(false);
- okButton.setText("Ok");
- okButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- okButtonActionPerformed(evt);
- }
- });
- fileLabel.setBackground(new java.awt.Color(204, 204, 204));
- fileLabel.setText("No File");
- fileLabel.setOpaque(true);
- jLabel2.setText("Password :");
- passwordField.setEnabled(false);
- jButton4.setText("Choose File");
- jButton4.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton4ActionPerformed(evt);
- }
- });
- confirmPasswordField.setEnabled(false);
- confirmPasswordField.addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyReleased(java.awt.event.KeyEvent evt) {
- confirmPasswordFieldKeyReleased(evt);
- }
- });
- jLabel3.setText("Confrim Password :");
- miripLabel.setText("Password file sama dengan password yang di masukan sebelumnya");
- jLabel4.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
- jLabel4.setForeground(new java.awt.Color(255, 255, 255));
- jLabel4.setText("Enkripsi File");
- javax.swing.GroupLayout panel1Layout = new javax.swing.GroupLayout(panel1);
- panel1.setLayout(panel1Layout);
- panel1Layout.setHorizontalGroup(
- panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jSeparator1)
- .addGroup(panel1Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel4)
- .addGroup(panel1Layout.createSequentialGroup()
- .addGroup(panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel3)
- .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(miripLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(confirmPasswordField)
- .addComponent(passwordField)))
- .addGroup(panel1Layout.createSequentialGroup()
- .addComponent(jButton4)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(okButton)
- .addComponent(fileLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 420, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addContainerGap(48, Short.MAX_VALUE))
- );
- panel1Layout.setVerticalGroup(
- panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panel1Layout.createSequentialGroup()
- .addGap(21, 21, 21)
- .addComponent(jLabel4)
- .addGap(17, 17, 17)
- .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(passwordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel2))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(confirmPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel3))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(miripLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(fileLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGap(18, 18, 18)
- .addComponent(okButton)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(panel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(0, 0, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(panel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
- pack();
- }// </editor-fold>
- private void confirmPasswordFieldKeyReleased(java.awt.event.KeyEvent evt) {
- // TODO add your handling code here:
- if(!passwordField.getText().equals(confirmPasswordField.getText())){
- miripLabel.setText("Tidak Valid");
- miripLabel.setForeground(Color.red);
- }else{
- miripLabel.setForeground(Color.black);
- miripLabel.setText("Valid");
- }
- }
- private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
- jfc=new JFileChooser();
- // FileFilter filter1 = new ExtensionFileFilter("Doukumen", new String[] {"DOC", "DOCX","PDF","TXT"});
- // jfc.setFileFilter(filter1);
- jfc.setAcceptAllFileFilterUsed(false);
- if(JFileChooser.APPROVE_OPTION==jfc.showOpenDialog(fileLabel)){
- fileLabel.setText(jfc.getSelectedFile().getPath());
- file=new File(jfc.getSelectedFile().getPath());
- String namaFile = jfc.getSelectedFile().getPath();
- int a = namaFile.lastIndexOf('.');
- int p = Math.max(namaFile.lastIndexOf('/'), namaFile.lastIndexOf('\\'));
- if (a > p) {
- ekstensi =namaFile.substring(a+1);
- }
- }
- }
- /**/
- private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {
- Thread treet = new Thread(){
- public void run(){
- byte [] outputByte = null;
- String password = terus.getPassword();
- outputByte = enkripsi.enkripFile(file, password);
- if(outputByte!=null){
- jfc = new javax.swing.JFileChooser();
- JFrame parentFrame = new JFrame();
- int userSelection = jfc.showSaveDialog(parentFrame);
- if(userSelection == JFileChooser.APPROVE_OPTION){
- String extension = "";
- String namaFile = "";
- int a = namaFile.lastIndexOf('.');
- int p = Math.max(namaFile.lastIndexOf('/'), namaFile.lastIndexOf('\\'));
- if (a > p) {
- extension =namaFile.substring(a+1);
- }
- int lengtExtensionFile =extension.length();
- String pathUser="";
- int lastSelected =jfc.getSelectedFile().getAbsolutePath().length()-lengtExtensionFile;
- String selectExtension =jfc.getSelectedFile().getAbsolutePath().substring(lastSelected);
- String ext ="";
- if(!extension.equals(selectExtension)){
- }
- switch(ekstensi)
- {
- case "pdf":ext="."+"pdf";break;
- case "doc":ext="."+"doc";break;
- case "docx":ext="."+"docx";break;
- case "xls":ext="."+"xls";break;
- case "xlsx":ext="."+"xlsx";break;
- case "pptx":ext="."+"pptx";break;
- default :ext="."+"etc";break;
- }
- pathUser=jfc.getSelectedFile().getAbsolutePath()+ext;
- try{
- File fileSave = new File(pathUser);
- FileOutputStream outputStream = new FileOutputStream(fileSave);
- outputStream.write(outputByte);
- outputStream.close();
- file =fileSave;
- JOptionPane.showMessageDialog(null,"File Berhasil Di Enkripsi","Informasi",JOptionPane.INFORMATION_MESSAGE);
- // START: Fungsi asli tombol ok
- if(file!=null){
- path=file.getAbsolutePath();
- }
- if(file==null){
- JOptionPane.showMessageDialog(null,"Belum Memilih File","Informasi",JOptionPane.INFORMATION_MESSAGE);
- return;
- }
- dispose();
- // END: Fungsi asli tombol ok
- }catch(Exception e){
- JOptionPane.showMessageDialog(null, e.getMessage(),pathUser,JOptionPane.INFORMATION_MESSAGE);
- }
- }
- }else{
- JOptionPane.showMessageDialog(null,enkripsi.getPesanKesalahan(),"Informasi",JOptionPane.INFORMATION_MESSAGE);
- }
- }
- };treet.start();
- }
- /**/
- private String path="";
- public String getPath() {
- return path;
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(viewEnkripsiFile.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(viewEnkripsiFile.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(viewEnkripsiFile.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(viewEnkripsiFile.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
- //</editor-fold>
- /* Create and display the dialog */
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- viewEnkripsiFile dialog = new viewEnkripsiFile(new javax.swing.JFrame(), true);
- dialog.addWindowListener(new java.awt.event.WindowAdapter() {
- @Override
- public void windowClosing(java.awt.event.WindowEvent e) {
- System.exit(0);
- }
- });
- dialog.setVisible(true);
- }
- });
- }
- // Variables declaration - do not modify
- private javax.swing.JPasswordField confirmPasswordField;
- private javax.swing.JLabel fileLabel;
- private javax.swing.JButton jButton4;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JSeparator jSeparator1;
- private javax.swing.JLabel miripLabel;
- private javax.swing.JButton okButton;
- private editSwing.Panel panel1;
- private javax.swing.JPasswordField passwordField;
- // End of variables declaration
- }
- class ExtensionFileFilter extends FileFilter {
- String description;
- String extensions[];
- public ExtensionFileFilter(String description, String extension) {
- this(description, new String[] { extension });
- }
- public ExtensionFileFilter(String description, String extensions[]) {
- if (description == null) {
- this.description = extensions[0];
- } else {
- this.description = description;
- }
- this.extensions = (String[]) extensions.clone();
- toLower(this.extensions);
- }
- private void toLower(String array[]) {
- for (int i = 0, n = array.length; i < n; i++) {
- array[i] = array[i].toLowerCase();
- }
- }
- public String getDescription() {
- return description;
- }
- public boolean accept(File file) {
- if (file.isDirectory()) {
- return true;
- } else {
- String path = file.getAbsolutePath().toLowerCase();
- for (int i = 0, n = extensions.length; i < n; i++) {
- String extension = extensions[i];
- if ((path.endsWith(extension) && (path.charAt(path.length() - extension.length() - 1)) == '.')) {
- return true;
- }
- }
- }
- return false;
- }
- }
Add Comment
Please, Sign In to add comment