A
aaaaaaaaaa
Gast
Hallo
wie oben schon steht habe ich Probleme die Daten zu speichern. Bei der Klasse Addressbook kommt es bei der Funktion storeAddress immer ins catch.
Habt ihr Tipps was das sein kann.
MfG
wie oben schon steht habe ich Probleme die Daten zu speichern. Bei der Klasse Addressbook kommt es bei der Funktion storeAddress immer ins catch.
Habt ihr Tipps was das sein kann.
MfG
Java:
package tw;
//import java.awt.print.AddressBook;
import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class AddressBook {
public AddressBook() {
super();
}
private ArrayList<AddressEntry> address = new ArrayList<AddressEntry>();
public void addAddress(AddressEntry a) {
address.add(a);
}
/**
* @param add
*/
public void storeAddress(AddressEntry add) {
// now write objects to file
try {
FileOutputStream fs = new FileOutputStream("addressbook.dat");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(add);
os.close();
fs.close();
} catch (IOException e) {
System.err.println("Objects cannot be save");
// e.printStackTrace();
}
}
}
Java:
package tw;
public class AddressEntry {
private String firstName;
private String lastName;
private String address;
private String email;
private String phoneNumber;
public AddressEntry() {
super();
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getFirstName() {
return firstName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getLastName() {
return lastName;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getPhoneNumber() {
return phoneNumber;
}
@Override
public int hashCode() {
final int PRIME = 37;
int result = 1;
result = PRIME * result + ((firstName == null) ? 0 : firstName.hashCode());
result = PRIME * result + ((lastName == null) ? 0 : lastName.hashCode());
result = PRIME * result + ((address == null) ? 0 : address.hashCode());
result = PRIME * result + ((phoneNumber == null) ? 0 : phoneNumber.hashCode());
result = PRIME * result + ((email == null) ? 0 : email.hashCode());
return result;
}
}
Java:
package tw;
import java.awt.Dimension;
import java.awt.GraphicsConfiguration;
import java.awt.HeadlessException;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class MainFrame extends JFrame {
private JLabel firstNameLabel = new JLabel();
private JTextField firstNameTx = new JTextField();
private JLabel lastNameLabel = new JLabel();
private JTextField lastNameTx = new JTextField();
private JTextField addressTx = new JTextField();
private JLabel addressLabel = new JLabel();
private JLabel phoneNumberLabel = new JLabel();
private JTextField phoneNumberTx = new JTextField();
private JLabel eMailLabel = new JLabel();
private JTextField eMailTx = new JTextField();
private JButton speichernBtn = new JButton();
private JButton suchenBtn = new JButton();
private JButton loeschenBtn = new JButton();
private JTextField numberTx = new JTextField();
public MainFrame() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
this.setSize(new Dimension(400, 343));
firstNameLabel.setText("First Name");
firstNameLabel.setBounds(new Rectangle(25, 35, 60, 15));
firstNameTx.setBounds(new Rectangle(25, 50, 125, 20));
lastNameLabel.setText("Last Name");
lastNameLabel.setBounds(new Rectangle(215, 35, 75, 15));
lastNameTx.setBounds(new Rectangle(215, 50, 130, 20));
addressTx.setBounds(new Rectangle(25, 105, 320, 20));
addressLabel.setText("Address");
addressLabel.setBounds(new Rectangle(25, 90, 110, 15));
phoneNumberLabel.setText("Phone Number");
phoneNumberLabel.setBounds(new Rectangle(25, 145, 80, 15));
phoneNumberTx.setBounds(new Rectangle(25, 160, 125, 20));
eMailLabel.setText("E-Mail");
eMailLabel.setBounds(new Rectangle(185, 145, 75, 15));
eMailTx.setBounds(new Rectangle(180, 160, 165, 20));
speichernBtn.setText("Speichern");
speichernBtn.setBounds(new Rectangle(25, 205, 85, 20));
speichernBtn.setActionCommand("Speichern");
speichernBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
speichernBtn_actionPerformed(e);
}
});
suchenBtn.setText("Suchen");
suchenBtn.setBounds(new Rectangle(145, 205, 75, 21));
suchenBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
suchenBtn_actionPerformed(e);
}
});
loeschenBtn.setText("Loeschen");
loeschenBtn.setBounds(new Rectangle(260, 205, 85, 20));
loeschenBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
loeschenBtn_actionPerformed(e);
}
});
numberTx.setBounds(new Rectangle(340, 265, 40, 20));
numberTx.setEnabled(false);
this.getContentPane().add(numberTx, null);
this.getContentPane().add(loeschenBtn, null);
this.getContentPane().add(suchenBtn, null);
this.getContentPane().add(speichernBtn, null);
this.getContentPane().add(eMailTx, null);
this.getContentPane().add(eMailLabel, null);
this.getContentPane().add(phoneNumberTx, null);
this.getContentPane().add(phoneNumberLabel, null);
this.getContentPane().add(addressLabel, null);
this.getContentPane().add(addressTx, null);
this.getContentPane().add(lastNameTx, null);
this.getContentPane().add(lastNameLabel, null);
this.getContentPane().add(firstNameTx, null);
this.getContentPane().add(firstNameLabel, null);
}
private AddressBook addressBook = new AddressBook();
private void speichernBtn_actionPerformed(ActionEvent e) {
AddressEntry data = new AddressEntry();
data.setFirstName(firstNameTx.getText());
data.setLastName(lastNameTx.getText());
data.setAddress(addressTx.getText());
data.setPhoneNumber(phoneNumberTx.getText());
data.setEmail(eMailTx.getText());
addressBook.addAddress(data);
addressBook.storeAddress(data);
numberTx.setText(String.valueOf(addressBook.getAddressCount()));
if ((firstNameTx.getText().equals( "" )) || (lastNameTx.getText().equals( "" )) ||
(addressTx.getText().equals( "" )) || (phoneNumberTx.getText().equals( "" ))) {
JOptionPane.showConfirmDialog(this,
"Invalid input value!",
"Error", JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
}
firstNameTx.setText("");
lastNameTx.setText("");
addressTx.setText("");
phoneNumberTx.setText("");
eMailTx.setText("");
System.out.println(addressBook.getAddressCount());
}
}