Académique Documents
Professionnel Documents
Culture Documents
--------------------------------------------------------------------------------
Description : asy to keep records first create a directory named data which should
be in Bin folder of jdk and in that create a file name data.dat
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
JPanel topPanel,bottomPanel;
JScrollPane scrollPane;
JFrame frame;
AddressBook()
{
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(screenWidth/4, screenHeight/4);
frame.setIconImage(img);
addWidgets();
frame.show();
{
menubar.add(menu);
menubar.add(menu);
menubar.add(menu);
frame.setJMenuBar(menubar);
topPanel.add(label);
bottomPanel.add(AddNew);
bottomPanel.add(DeleteContact);
bottomPanel.add(SearchContacts);
bottomPanel.add(SortContacts);
bottomPanel.add(ViewContactList);
frame.getContentPane().add(topPanel,
BorderLayout.NORTH);
frame.getContentPane().add(bottomPanel,
BorderLayout.SOUTH);
frame.setResizable(false);
}
else if(ae.getActionCommand() == "View All Contacts")
{
oh.ViewAllContacts();
}
else if(ae.getActionCommand() == "Help Contents")
{
try
{
oh.showHelp();
}
catch(IOException e)
{
}
}
else if(ae.getActionCommand() == "Backup Contacts")
{
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setMultiSelectionEnabled(false);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.showSaveDialog(frame);
FileOutputStream bfout = null;
FileInputStream bfin = null;
String filename=null;
int p;
try
{
filename = chooser.getSelectedFile().getPath();
}
catch(Exception e)
{
}
try
{
bfout = new FileOutputStream(filename +<BR>\data.dat");
}
catch(Exception e)
{
}
try
{
bfin = new FileInputStream("data/data.dat");
}
catch(Exception e)
{
try
{
do
{ p = bfin.read();
if(p!=-1)
bfout.write(p);
}while(p!=-1);
}
catch(Exception e)
{
JFrame newFrame;
JTextField txtFirstName;
JTextField txtLastName;
JTextField txtNickname;
JTextField txtEMail;
JTextField txtAddress;
JTextField txtPhoneNo;
JTextField txtWebpage;
JTextField txtBDay;
JButton BttnSaveAdded;
FileInputStream fis;
ObjectInputStream ois;
JList list;
DefaultListModel listModel;
ListSelectionModel listSelectionModel;
Thread t;
JTable searchTable;
JTextField txtSearch;
OperationHandler()
{
try {
fis = new FileInputStream("data/data.dat");
ois = new ObjectInputStream(fis);
v = (Vector) ois.readObject();
ois.close();
}
catch(Exception e)
{
}
}
try
{
FileOutputStream fos = new
FileOutputStream("data/data.dat");
ObjectOutputStream oos = new
ObjectOutputStream(fos);
oos.writeObject(v);
oos.flush();
oos.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(newFrame, "Error
Opening
Data File: Could Not Save Contents.", "Error Opening Data File",
JOptionPane.INFORMATION_MESSAGE);
}
centerPane.add(lblFirstName);
centerPane.add(txtFirstName);
centerPane.add(lblLastName);
centerPane.add(txtLastName);
centerPane.add(lblNickname);
centerPane.add(txtNickname);
centerPane.add(lblEMail);
centerPane.add(txtEMail);
centerPane.add(lblAddress);
centerPane.add(txtAddress);
centerPane.add(lblPhoneNo);
centerPane.add(txtPhoneNo);
centerPane.add(lblWebpage);
centerPane.add(txtWebpage);
centerPane.add(lblBDay);
centerPane.add(txtBDay);
bottomPane.add(BttnAdd);
bottomPane.add(BttnSaveAdded);
centerPane.setLayout(new GridLayout(0,2));
newFrame.getContentPane().add(centerPane,BorderLayout.CENTER);
newFrame.getContentPane().add(bottomPane,BorderLayout.SOUTH);
newFrame.setLocation(screenWidth/4, screenHeight/4);
newFrame.show();
newFrame.getContentPane().add(scrollPane,BorderLayout.SOUTH);
newFrame.getContentPane().add(topPane,
BorderLayout.NORTH);
newFrame.getContentPane().add(centerPane,
BorderLayout.CENTER);
newFrame.show();
}
newFrame.show();
for(int l=0;l<v.size();l++)
{
contact = (Contact) v.elementAt(l);
fname = contact.getFName();
lname = contact.getLName();
listModel.addElement(fname + " " + lname);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
listSelectionModel = list.getSelectionModel();
listSelectionModel.addListSelectionListener(this);
newFrame.show();
for(int j=0;j<v.size();j++)
{
data[j][0] = con.getFName();
data[j][1] = con.getLName();
data[j][2] = con.getNname();
data[j][3] = con.getEMail();
data[j][4] = con.getAddress();
data[j][5] = con.getPhoneNo();
data[j][6] = con.getWebpage();
data[j][7] = con.getBday();
k++;
}
k=0;
newFrame.getContentPane().add(pane,BorderLayout.SOUTH);
newFrame.getContentPane().add(scrollPane,
BorderLayout.CENTER);
newFrame.setLocation(screenWidth/4,
screenHeight/4);
newFrame.show();
try
{
fishelp= new FileInputStream("help/help.txt");
}
catch(Exception e)
{
JOptionPane.showMessageDialog(newFrame, "Help File
Not Found.", "Help File Not Found", JOptionPane.INFORMATION_MESSAGE);
}
do
{
i = fishelp.read();
if(i!=1)
data = data + (char) i;
} while(i!=-1);
fishelp.close();
textArea.setText(data);
newFrame.getContentPane().add(topPane,BorderLayout.NORTH);
newFrame.getContentPane().add(scrollPane);
newFrame.getContentPane().add(bottomPane,BorderLayout.SOUTH);
newFrame.show();
if(txtFirstName.getText().equals("") &&
txtLastName.getText().equals("") && txtNickname.getText().equals("") &&
txtEMail.getText().equals("") && txtAddress.getText().equals("") &&
txtPhoneNo.getText().equals("") && txtWebpage.getText().equals("") &&
txtBDay.getText().equals(""))
{
else
{
Contact contact = new Contact();
contact.setDetails(txtFirstName.getText(),txtLastName.getText(),txtNicknam
e.getText(),txtEMail.getText(),txtAddress.getText(),txtPhoneNo.getText(),t
xtWebpage.getText(),txtBDay.getText());
v.addElement(contact);
txtFirstName.setText("");
txtLastName.setText("");
txtNickname.setText("");
txtEMail.setText("");
txtAddress.setText("");
txtPhoneNo.setText("");
txtWebpage.setText("");
txtBDay.setText("");
if(BttnSaveAdded.isEnabled() == false)
BttnSaveAdded.setEnabled(true);
}
}
else if(ae.getActionCommand() == "Save Added!")
{
saveVector();
newFrame.setVisible(false);
}
else if(ae.getActionCommand() == "Ok")
{
newFrame.setVisible(false);
}
else if(ae.getActionCommand() == "Delete Selected")
{
int index;
try
{
index = list.getSelectedIndex();
if(index==-1)
{
else
{
int n =
JOptionPane.showConfirmDialog(newFrame, "Are you sure you want to
delete
the selected Contact?", "Are you sure?", JOptionPane.YES_NO_OPTION);
if (n == JOptionPane.YES_OPTION)
{
listModel.remove(index);
v.removeElementAt(index);
saveVector();
newFrame.show();
}
else if (n ==
JOptionPane.NO_OPTION)
{
}
catch(Exception e)
{
}
else if(ae.getActionCommand() == "Cancel")
{
newFrame.setVisible(false);
}
else if(ae.getActionCommand() == "Search!")
{
String SearchStr;
SearchStr = txtSearch.getText();
boolean flag=false;
Contact con = new Contact();
int c=0;
for(int t=0;t<5;t++)
{
data[t][0] = "";
data[t][1] = "";
data[t][2] = "";
data[t][3] = "";
data[t][4] = "";
data[t][5] = "";
data[t][6] = "";
data[t][7] = "";
}
for(int t=0;t<v.size();t++)
{
if(SearchStr.equalsIgnoreCase(con.getFName()) ||
SearchStr.equalsIgnoreCase(con.getLName()) ||
SearchStr.equalsIgnoreCase(con.getFName() + " " + con.getLName()))
{
flag=true;
data[c][0] = con.getFName();
data[c][1] = con.getLName();
data[c][2] = con.getNname();
data[c][3] = con.getEMail();
data[c][4] = con.getAddress();
data[c][5] = con.getPhoneNo();
data[c][6] = con.getWebpage();
data[c][7] = con.getBday();
searchTable = new
JTable(data,columnNames);
newFrame.setSize(700,221);
newFrame.setSize(700,220);
if(c<5)
c++;
}
if(flag)
{
JOptionPane.showMessageDialog(newFrame,<BR>Contact
Found!", "Search Result!", JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(newFrame, <BR>No
Such Contact Found!", "Search Result!",
JOptionPane.INFORMATION_MESSAGE);
}
}
else if(ae.getActionCommand() == "Sort Contacts")
{
if(byfname.isSelected())
{
Contact contact1 = new Contact();
Contact contact2 = new Contact();
Contact temp = new Contact();
int l,m;
for(l=0;l<v.size()-1;l++)
{
for(m=l+1;m<v.size();m++)
{
contact1 = (Contact) v.elementAt(l);
contact2 = (Contact) v.elementAt(m);
if(contact1.getFName().compareTo(contact2.getFName()) > 0)
{
temp = (Contact)
v.elementAt(m);
v.setElementAt(v.elementAt(l),m);
v.setElementAt(temp,l);
}
}
}
saveVector();
}
else
{
for(l=0;l<v.size()-1;l++)
{
for(m=l+1;m<v.size();m++)
{
contact1 = (Contact) v.elementAt(l);
contact2 = (Contact) v.elementAt(m);
if(contact1.getLName().compareTo(contact2.getLName()) > 0)
{
temp = (Contact)
v.elementAt(m);
v.setElementAt(v.elementAt(l),m);
v.setElementAt(temp,l);
}
}
}
saveVector();
}
newFrame.setVisible(false);
}
}
}