/******************************************************** * Speaker Verification Implemented Security * * CA4 Project * * Written by: Ronan Crowley (97084603) * * and Paul Connolly (97307599) * ********************************************************/ import Audio.*; import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class setSecurity extends JDialog { String[] values = {"25 %","20 %","15 %","10 %","5 %","2 %","1 %","0.5 %","0.1 %","0.05 %","0.01 %" }; double[] results = {0.6742, 0.8415, 1.0364, 1.2817, 1.6452, 2.0542, 2.3268, 2.5762, 3.0905, 3.2908, 3.7191}; JList JList1 = new JList(); String username; ObjectOutputStream output; JTextArea area = new JTextArea(); public setSecurity (JDialog parent, ObjectOutputStream ostream, String name, double probAnti, double probRejYou) { super (parent); username = name; output = ostream; this.setTitle("Select Personal Level of Security"); // setIconImage(Toolkit.getDefaultToolkit().createImage(setSecurity.class.getResource("sv.gif"))); getContentPane().setLayout(null); setSize(405,390); setVisible(false); area.setText("Currently there is a "+(probAnti*100)+"% chance of another user logging in as you.\nCurrently there is a "+(probRejYou*100)+"% chance of you being rejected\nPlease select your new security level from the list below."); area.setBorder(BorderFactory.createRaisedBevelBorder()); area.setBounds(24,30,370,70); area.setEditable(false); getContentPane().add(area); JList1.setListData( values ); JList1.setBounds(124,125,139,220); JList1.setBorder(BorderFactory.createRaisedBevelBorder()); getContentPane().add(JList1); SymListSelection lSymListSelection = new SymListSelection(); JList1.addListSelectionListener(lSymListSelection); } public void setVisible(boolean b) { if (b) setLocation(150, 150); super.setVisible(b); } /* static public void main(String args[]) { double a = 0.0; double b = 0.0; (new JDialog1(args[0],a,b)).setVisible(true); // JDialog1(a,b); }*/ public void addNotify() { // Record the size of the window prior to calling parents addNotify. Dimension size = getSize(); super.addNotify(); if (frameSizeAdjusted) return; frameSizeAdjusted = true; // Adjust size of frame according to the insets Insets insets = getInsets(); setSize(insets.left + insets.right + size.width, insets.top +insets.bottom + size.height); } // Used by addNotify boolean frameSizeAdjusted = false; class SymListSelection implements javax.swing.event.ListSelectionListener { public void valueChanged(javax.swing.event.ListSelectionEvent event) { Object object = event.getSource(); if (object == JList1) JList1_valueChanged(event); } } void JList1_valueChanged(javax.swing.event.ListSelectionEvent event) { JOptionPane.showMessageDialog(null, values[JList1.getSelectedIndex()],"New Security Level = ", JOptionPane.INFORMATION_MESSAGE); //send value to re-calculate new threshold ! try { output.writeObject(username+";"+results[JList1.getSelectedIndex()]); output.flush(); } catch (EOFException eof) { System.out.println("Server terminated connection"); } catch ( IOException e ) { e.printStackTrace(); } //calcThreshold thresholdobject = new calcThreshold(); //double threshold = thresholdobject.getThreshold(username, results[JList1.getSelectedIndex()]); dispose(); } }