import javax.swing.JOptionPane;
public class AnExample {
public static void main(String[] args) {
DataAcquisition controller = new DataAcquisition();
// Create one PersonData:
PersonData person = new PersonData();
person.name = controller.getName();
person.address = controller.getAddress();
person.age = controller.getAge();
person.interests = controller.getInterests();
System.out.println("person = " + person);
}
}
/** controller class */
class DataAcquisition {
public String getName() {
return getData("name");
}
public String getAddress() {
return getData("address");
}
public int getAge() {
return Integer.parseInt(getData("age"));
}
public String getInterests() {
return getData("interests");
}
private String getData(String subject) {
String s = "Enter " + subject;
String retVal = JOptionPane.showInputDialog(s);
if(retVal != null)
return retVal;
return "unknown";
}
}
/** definition (aka data store) class */
class PersonData {
String name;
String address;
int age;
String interests;
public String toString() {
return "PersonData[name:" + name +
" address:" + address +
" age:" + age +
" interests:" + interests + "]";
}
}