Java tutorial
/* * 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.v */ package authentication; import static authentication.Add.create; import java.awt.event.ActionEvent; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.logging.Level; import java.util.logging.Logger; import java.util.prefs.*; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import javax.*; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import javax.*; import org.openqa.selenium.NotFoundException; import org.openqa.selenium.ie.InternetExplorerDriver; /** * * @author bhpatel */ public class TestingTable extends javax.swing.JFrame { public static ArrayList<Authentication> k = new ArrayList<Authentication>(); /** * Creates new form TestingTable */ public TestingTable() { setResizable(false); initComponents(); get(); setTitle(k.toString()); fillfromList(); } public void fillfromList() { DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); for (int i = 0; i < k.size(); i++) { model.addRow(new Object[] { (k.get(i).getUserName()), generateStars(k.get(i).getPassWord()) }); } } static String generateStars(String x) { int length = x.length(); String r = ""; for (int i = 0; i < length; i++) { r += "*"; } return r; } public TestingTable(ArrayList<Authentication> a) { initComponents(); } /** * 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">//GEN-BEGIN:initComponents private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jButton4 = new javax.swing.JButton(); jButton6 = new javax.swing.JButton(); jButton5 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTable1.setBackground(new java.awt.Color(135, 223, 165)); jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { }, new String[] { "Username", "Password" }) { Class[] types = new Class[] { java.lang.String.class, java.lang.String.class }; public Class getColumnClass(int columnIndex) { return types[columnIndex]; } }); jTable1.setGridColor(new java.awt.Color(135, 223, 165)); jScrollPane1.setViewportView(jTable1); jButton1.setBackground(new java.awt.Color(135, 223, 165)); jButton1.setText("Generate UUID Password"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jButton2.setBackground(new java.awt.Color(135, 223, 165)); jButton2.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N jButton2.setText("?"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); jButton3.setBackground(new java.awt.Color(38, 179, 85)); jButton3.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N jButton3.setText("LOGIN"); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt); } }); jButton4.setBackground(new java.awt.Color(135, 223, 165)); jButton4.setText("Delete"); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton4ActionPerformed(evt); } }); jButton6.setBackground(new java.awt.Color(135, 223, 165)); jButton6.setText("Change"); jButton6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton6ActionPerformed(evt); } }); jButton5.setBackground(new java.awt.Color(135, 223, 165)); jButton5.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N jButton5.setText("+"); jButton5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton5ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(14, 14, 14) .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton5)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addGap(0, 0, Short.MAX_VALUE).addComponent( jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap())); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1).addComponent(jButton2).addComponent(jButton5)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton3).addComponent(jButton6).addComponent(jButton4)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); pack(); }// </editor-fold>//GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed Generate l = new Generate(); l.setVisible(true); }//GEN-LAST:event_jButton1ActionPerformed public static void get() { try { FileInputStream fis = new FileInputStream("key.secure"); ObjectInputStream ois = new ObjectInputStream(fis); ArrayList<Authentication> woi = new ArrayList<>(); woi = (ArrayList<Authentication>) ois.readObject(); k = woi; } catch (IOException ex) { Logger.getLogger(TestingTable.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(TestingTable.class.getName()).log(Level.SEVERE, null, ex); } } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed JOptionPane.showMessageDialog(null, k.get(jTable1.getSelectedRow()).getPassWord()); }//GEN-LAST:event_jButton2ActionPerformed private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); WebDriver driver = new ChromeDriver(); driver.get( "https://www.facebook.com/?stype=lo&jlou=Afeo3usnUHyB5AT4TqVF4PpoNba5Ld2sOALGhGMfhib8xyeI0FjYqdYf72ZtVncLyfHnYBBU6pY3XZ_l-D-KchQXCwLecdkAemJcXs_dIu-UmQ&smuh=16711&lh=Ac-txP8J-TK6lCJ5"); WebElement username = driver.findElement(By.id("email")); WebElement password = driver.findElement(By.id("pass")); password.sendKeys(model.getValueAt(jTable1.getSelectedRow(), 0).toString()); username.sendKeys(model.getValueAt(jTable1.getSelectedRow(), 1).toString()); WebElement button = driver.findElement(By.id("loginbutton")); button.click(); }//GEN-LAST:event_jButton3ActionPerformed public void actionPerformed(ActionEvent e) { } public static void saveArray() throws FileNotFoundException, IOException { try { FileOutputStream fop = new FileOutputStream("key.secure"); ObjectOutputStream oos = new ObjectOutputStream(fop); oos.writeObject(k); } catch (NotFoundException e) { create(); } } public static void create() throws IOException { File file = new File("key.secure"); file.createNewFile(); } private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); /* int[] selected = jTable1.getSelectedRows(); System.out.println(Arrays.toString(selected)); for(int i =0;i<selected.length;i++){ model.removeRow(selected[i]); k.remove(selected[i]); } try { saveArray(); fillfromList(); } catch (IOException ex) { Logger.getLogger(TestingTable.class.getName()).log(Level.SEVERE, null, ex); } */ if (jTable1.getSelectedRowCount() == 1) { k.remove(jTable1.getSelectedRow()); model.removeRow(jTable1.getSelectedRow()); try { saveArray(); } catch (IOException ex) { Logger.getLogger(TestingTable.class.getName()).log(Level.SEVERE, null, ex); } } else { int[] rows = jTable1.getSelectedRows(); for (int i = 0; i < rows.length; i++) { model.removeRow(rows[i] - i); k.remove(rows[i] - i); try { saveArray(); } catch (IOException ex) { Logger.getLogger(TestingTable.class.getName()).log(Level.SEVERE, null, ex); } } } }//GEN-LAST:event_jButton4ActionPerformed private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); Change a = new Change(k, jTable1.getSelectedRow()); a.setVisible(true); setVisible(false); }//GEN-LAST:event_jButton6ActionPerformed private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed Add a = new Add(k); a.setVisible(true); setVisible(false); }//GEN-LAST:event_jButton5ActionPerformed /** * @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(TestingTable.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(TestingTable.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(TestingTable.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(TestingTable.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new TestingTable().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JButton jButton6; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; // End of variables declaration//GEN-END:variables }