I want to choose someone who can finish it as soon as possible.
Homework 2
Due Date: Sunday the 28th of January at 11:59PM
The objective of this assignment is to practice managing a group of objects from creation, update, and search perspectives. In addition, you are to learn how to convert user questions to attributes on the classes, and real answers on the screen. Some of the search functions require that you find multiple instances that satisfy the search criteria. The matched elements must be collected into temporary array lists to display on the screen in a secondary table.
Write an application to manage a fleet of cars for Uber in a certain geo-area. Your application should enable search to answer to the following questions:
1. Find me the first available passenger car.
2. How many cars are currently available. How many are not.
3. List all cars that are made by Toyota, GM, etc.
4. List all cars that were manufactured in a given year, ‘x’.
5. Find an available car with a minimum of x seats but no more than y seats.
6. Find a car with the given serial number. List the attributes of the found car.
7. List all cars given the model number.
8. List all the car manufacturers used by the (this) Uber.
9. When was the last time the fleet catalog was updated.
10. List all cars that are available in a given city.
11. List all cars that have expired maintenance certificate.
Your application must enable the creation and update functions for any of the attributes of concern. It will be okay to assume each of these questions are buttons on the left/right side of the screen depending on your design.
Also, through a configuration file enable the creation of multiple instances of cars with various characteristics consistent with the requirements above. This will save you from having to retype the same thing multiple times. Make sure to create enough variations to enable a good demo of your solution. Checkboxes should be used to indicate yes or no answers to certain attributes such as availability, etc. The ability to update some of these attributes is required as well.
Bonus Points:
Define secondary filers on the found instances. In this case, you will need a search function on the collected search results.
Two additional extensions to think about is how to model a ride from a to b and determine current location of vehicles.
5100Assignment1/build/built-jar.properties
#Sun, 21 Jan 2018 20:26:02 -0500
/Users/wengdi/NetBeansProjects/5100Assignment1=
5100Assignment1/build/classes/.netbeans_automatic_build
5100Assignment1/build/classes/.netbeans_update_resources
5100Assignment1/build/classes/Interface/CreatePanel$1.class
package Interface;
synchronized class CreatePanel$1 implements java.awt.event.ActionListener {
void CreatePanel$1(CreatePanel);
public void actionPerformed(java.awt.event.ActionEvent);
}
5100Assignment1/build/classes/Interface/CreatePanel$2.class
package Interface;
synchronized class CreatePanel$2 implements java.awt.event.ActionListener {
void CreatePanel$2(CreatePanel);
public void actionPerformed(java.awt.event.ActionEvent);
}
5100Assignment1/build/classes/Interface/CreatePanel$3.class
package Interface;
synchronized class CreatePanel$3 implements java.awt.event.ActionListener {
void CreatePanel$3(CreatePanel);
public void actionPerformed(java.awt.event.ActionEvent);
}
5100Assignment1/build/classes/Interface/CreatePanel.class
package Interface;
public synchronized class CreatePanel extends javax.swing.JPanel {
private Profile.Person person;
private javax.swing.JTextField bankAccountNumberTF;
private javax.swing.JTextField certificateNumberTF;
private javax.swing.JButton createBtn;
private javax.swing.JTextField dateOfBirthTF;
private javax.swing.JTextField emailAddressTF;
private javax.swing.JTextField faxNumberTF;
private javax.swing.JTextField fullFacePhotoTF;
private javax.swing.JLabel imageLabel;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField linkedInTF;
private javax.swing.JTextField nameTF;
private javax.swing.JTextField socialSecurityNumberTF;
private javax.swing.JTextField telephoneNumberTF;
public void CreatePanel(Profile.Person);
private void initComponents();
private void dateOfBirthTFActionPerformed(java.awt.event.ActionEvent);
private void createBtnActionPerformed(java.awt.event.ActionEvent);
private void jButton1ActionPerformed(java.awt.event.ActionEvent);
}
5100Assignment1/build/classes/Interface/CreatePanel.form
5100Assignment1/build/classes/Interface/MainJFrame$1.class
package Interface;
synchronized class MainJFrame$1 implements java.awt.event.ActionListener {
void MainJFrame$1(MainJFrame);
public void actionPerformed(java.awt.event.ActionEvent);
}
5100Assignment1/build/classes/Interface/MainJFrame$2.class
package Interface;
synchronized class MainJFrame$2 implements java.awt.event.ActionListener {
void MainJFrame$2(MainJFrame);
public void actionPerformed(java.awt.event.ActionEvent);
}
5100Assignment1/build/classes/Interface/MainJFrame$3.class
package Interface;
final synchronized class MainJFrame$3 implements Runnable {
void MainJFrame$3();
public void run();
}
5100Assignment1/build/classes/Interface/MainJFrame.class
package Interface;
public synchronized class MainJFrame extends javax.swing.JFrame {
private Profile.Person person;
private javax.swing.JPanel controlJPanel;
private javax.swing.JButton createBtn;
private javax.swing.JPanel displayJPanel;
private javax.swing.JSplitPane splitPanel;
private javax.swing.JButton viewBtn;
public void MainJFrame();
private void initComponents();
private void createBtnActionPerformed(java.awt.event.ActionEvent);
private void viewBtnActionPerformed(java.awt.event.ActionEvent);
public static void main(String[]);
}
5100Assignment1/build/classes/Interface/MainJFrame.form
5100Assignment1/build/classes/Interface/ViewPanel$1.class
package Interface;
synchronized class ViewPanel$1 implements java.awt.event.ActionListener {
void ViewPanel$1(ViewPanel);
public void actionPerformed(java.awt.event.ActionEvent);
}
5100Assignment1/build/classes/Interface/ViewPanel.class
package Interface;
public synchronized class ViewPanel extends javax.swing.JPanel {
private Profile.Person person;
private javax.swing.JTextField bankAccountNumberTF;
private javax.swing.JTextField certificateNumberTF;
private javax.swing.JTextField dateOfBirthTF;
private javax.swing.JTextField emailAddressTF;
private javax.swing.JTextField faxNumberTF;
private javax.swing.JLabel imageLable;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField linkedInTF;
private javax.swing.JTextField nameTF;
private javax.swing.JTextField socialSecurityNumberTF;
private javax.swing.JTextField telephoneNumberTF;
public void ViewPanel(Profile.Person);
private void displayPerson(Profile.Person);
private void initComponents();
private void dateOfBirthTFActionPerformed(java.awt.event.ActionEvent);
}
5100Assignment1/build/classes/Interface/ViewPanel.form
5100Assignment1/build/classes/Profile/Person.class
package Profile;
public synchronized class Person {
private String name;
private String dateOfBirth;
private String telephoneNumber;
private String faxNumber;
private String emailAddress;
private String socialSecurityNumber;
private String bankAccountNumber;
private String certificateNumber;
private String linkedIn;
private String fullFacePhoto;
public void Person();
public String getName();
public void setName(String);
public String getDateOfBirth();
public void setDateOfBirth(String);
public String getTelephoneNumber();
public void setTelephoneNumber(String);
public String getFaxNumber();
public void setFaxNumber(String);
public String getEmailAddress();
public void setEmailAddress(String);
public String getSocialSecurityNumber();
public void setSocialSecurityNumber(String);
public String getBankAccountNumber();
public void setBankAccountNumber(String);
public String getCertificateNumber();
public void setCertificateNumber(String);
public String getLinkedIn();
public void setLinkedIn(String);
public String getFullFacePhoto();
public void setFullFacePhoto(String);
}
5100Assignment1/build.xml
Builds, tests, and runs the project 5100Assignment1.
5100Assignment1/dist/5100Assignment1.jar
META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.7
Created-By: 1.8.0_161-b12 (Oracle Corporation)
Class-Path:
X-COMMENT: Main-Class will be added automatically by build
Main-Class: Interface.MainJFrame
Interface/CreatePanel$1.class
package Interface;
synchronized class CreatePanel$1 implements java.awt.event.ActionListener {
void CreatePanel$1(CreatePanel);
public void actionPerformed(java.awt.event.ActionEvent);
}
Interface/CreatePanel.class
package Interface;
public synchronized class CreatePanel extends javax.swing.JPanel {
private Profile.Person person;
private javax.swing.JTextField bankAccountNumberTF;
private javax.swing.JTextField certificateNumberTF;
private javax.swing.JButton createBtn;
private javax.swing.JTextField dateOfBirthTF;
private javax.swing.JTextField emailAddressTF;
private javax.swing.JTextField faxNumberTF;
private javax.swing.JTextField fullFacePhotoTF;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField linkedInTF;
private javax.swing.JTextField nameTF;
private javax.swing.JTextField socialSecurityNumberTF;
private javax.swing.JTextField telephoneNumberTF;
public void CreatePanel(Profile.Person);
private void initComponents();
private void dateOfBirthTFActionPerformed(java.awt.event.ActionEvent);
}
Interface/MainJFrame$1.class
package Interface;
synchronized class MainJFrame$1 implements java.awt.event.ActionListener {
void MainJFrame$1(MainJFrame);
public void actionPerformed(java.awt.event.ActionEvent);
}
Interface/MainJFrame$2.class
package Interface;
synchronized class MainJFrame$2 implements java.awt.event.ActionListener {
void MainJFrame$2(MainJFrame);
public void actionPerformed(java.awt.event.ActionEvent);
}
Interface/MainJFrame$3.class
package Interface;
final synchronized class MainJFrame$3 implements Runnable {
void MainJFrame$3();
public void run();
}
Interface/MainJFrame.class
package Interface;
public synchronized class MainJFrame extends javax.swing.JFrame {
private Profile.Person person;
private javax.swing.JPanel controlJPanel;
private javax.swing.JButton createBtn;
private javax.swing.JPanel displayJPanel;
private javax.swing.JSplitPane splitPanel;
private javax.swing.JButton viewBtn;
public void MainJFrame();
private void initComponents();
private void createBtnActionPerformed(java.awt.event.ActionEvent);
private void viewBtnActionPerformed(java.awt.event.ActionEvent);
public static void main(String[]);
}
Interface/ViewPanel$1.class
package Interface;
synchronized class ViewPanel$1 implements java.awt.event.ActionListener {
void ViewPanel$1(ViewPanel);
public void actionPerformed(java.awt.event.ActionEvent);
}
Interface/ViewPanel.class
package Interface;
public synchronized class ViewPanel extends javax.swing.JPanel {
private Profile.Person person;
private javax.swing.JTextField bankAccountNumberTF;
private javax.swing.JTextField certificateNumberTF;
private javax.swing.JTextField dateOfBirthTF;
private javax.swing.JTextField emailAddressTF;
private javax.swing.JTextField faxNumberTF;
private javax.swing.JTextField fullFacePhotoTF;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField linkedInTF;
private javax.swing.JTextField nameTF;
private javax.swing.JTextField socialSecurityNumberTF;
private javax.swing.JTextField telephoneNumberTF;
public void ViewPanel(Profile.Person);
private void initComponents();
private void dateOfBirthTFActionPerformed(java.awt.event.ActionEvent);
}
Profile/Person.class
package Profile;
public synchronized class Person {
private String name;
private String dateOfBirth;
private String telephoneNumber;
private String faxNumber;
private String emailAddress;
private String socialSecurityNumber;
private String bankAccountNumber;
private String certificateNumber;
private String linkedIn;
private String fullFacePhotos;
public void Person();
public String getName();
public void setName(String);
public String getDateOfBirth();
public void setDateOfBirth(String);
public String getTelephoneNumber();
public void setTelephoneNumber(String);
public String getFaxNumber();
public void setFaxNumber(String);
public String getEmailAddress();
public void setEmailAddress(String);
public String getSocialSecurityNumber();
public void setSocialSecurityNumber(String);
public String getBankAccountNumber();
public void setBankAccountNumber(String);
public String getCertificateNumber();
public void setCertificateNumber(String);
public String getLinkedIn();
public void setLinkedIn(String);
public String getFullFacePhotos();
public void setFullFacePhotos(String);
}
5100Assignment1/dist/README.TXT
========================
BUILD OUTPUT DESCRIPTION
========================
When you build an Java application project that has a main class, the IDE
automatically copies all of the JAR
files on the projects classpath to your projects dist/lib folder. The IDE
also adds each of the JAR files to the Class-Path element in the application
JAR files manifest file (MANIFEST.MF).
To run the project from the command line, go to the dist folder and
type the following:
java -jar “5100Assignment1.jar”
To distribute this project, zip up the dist folder (including the lib folder)
and distribute the ZIP file.
Notes:
* If two JAR files on the project classpath have the same name, only the first
JAR file is copied to the lib folder.
* Only JAR files are copied to the lib folder.
If the classpath contains other types of files or folders, these files (folders)
are not copied.
* If a library on the projects classpath also has a Class-Path element
specified in the manifest,the content of the Class-Path element has to be on
the projects runtime path.
* To set a main class in a standard Java project, right-click the project node
in the Projects window and choose Properties. Then click Run and enter the
class name in the Main Class field. Alternatively, you can manually type the
class name in the manifest Main-Class element.
5100Assignment1/manifest.mf
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
5100Assignment1/nbproject/build-impl.xml
Must set src.dir
Must set test.src.dir
Must set build.dir
Must set dist.dir
Must set build.classes.dir
Must set dist.javadoc.dir
Must set build.test.classes.dir
Must set build.test.results.dir
Must set build.classes.excludes
Must set dist.jar
Must set javac.includes
No tests executed.
Must set JVM to use for profiling in profiler.info.jvm
Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
Must select some files in the IDE or set javac.includes
To run this application from the command line without Ant, try:
java -jar “${dist.jar.resolved}”
Must select one file in the IDE or set run.class
Must select one file in the IDE or set run.class
Must select one file in the IDE or set debug.class
Must select one file in the IDE or set debug.class
Must set fix.includes
This target only works when run from inside the NetBeans IDE.
Must select one file in the IDE or set profile.class
This target only works when run from inside the NetBeans IDE.
This target only works when run from inside the NetBeans IDE.
This target only works when run from inside the NetBeans IDE.
Must select one file in the IDE or set run.class
Must select some files in the IDE or set test.includes
Must select one file in the IDE or set run.class
Must select one file in the IDE or set applet.url
Must select some files in the IDE or set javac.includes
Some tests failed; see details above.
Must select some files in the IDE or set test.includes
Some tests failed; see details above.
Must select some files in the IDE or set test.class
Must select some method in the IDE or set test.method
Some tests failed; see details above.
Must select one file in the IDE or set test.class
Must select one file in the IDE or set test.class
Must select some method in the IDE or set test.method
Must select one file in the IDE or set applet.url
Must select one file in the IDE or set applet.url
5100Assignment1/nbproject/genfiles.properties
build.xml.data.CRC32=9e3eda63
build.xml.script.CRC32=2f3083dd
build.xml.stylesheet.CRC32=8064a381@1.80.1.48
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=9e3eda63
nbproject/build-impl.xml.script.CRC32=97fabed2
nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48
5100Assignment1/nbproject/private/private.properties
compile.on.save=true
user.properties.file=/Users/wengdi/Library/Application Support/NetBeans/8.2/build.properties
5100Assignment1/nbproject/private/private.xml
5100Assignment1/nbproject/project.properties
annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false
annotation.processing.processor.options=
annotation.processing.processors.list=
annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
# Uncomment to specify the preferred debugger connection transport:
#debug.transport=dt_socket
debug.classpath=\
${run.classpath}
debug.test.classpath=\
${run.test.classpath}
# Files in build.classes.dir which should be excluded from distribution jar
dist.archive.excludes=
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/5100Assignment1.jar
dist.javadoc.dir=${dist.dir}/javadoc
excludes=
includes=**
jar.compress=false
javac.classpath=
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
javac.external.vm=true
javac.processorpath=\
${javac.classpath}
javac.source=1.8
javac.target=1.8
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
javac.test.processorpath=\
${javac.test.classpath}
javadoc.additionalparam=
javadoc.author=false
javadoc.encoding=${source.encoding}
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=
main.class=Interface.MainJFrame
manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false
platform.active=default_platform
run.classpath=\
${javac.classpath}:\
${build.classes.dir}
# Space-separated list of JVM arguments used when running the project.
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
# To set system properties for unit tests define test-sys-prop.name=value:
run.jvmargs=
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
source.encoding=UTF-8
src.dir=src
test.src.dir=test
5100Assignment1/nbproject/project.xml
org.netbeans.modules.java.j2seproject
5100Assignment1
5100Assignment1/src/Interface/CreatePanel.form
5100Assignment1/src/Interface/CreatePanel.java
5100Assignment1/src/Interface/CreatePanel.java
/*
* 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.
*/
package
Interface
;
import
Profile
.
Person
;
import
java
.
io
.
File
;
import
javax
.
swing
.
ImageIcon
;
import
javax
.
swing
.
JFileChooser
;
import
javax
.
swing
.
JOptionPane
;
/**
*
*
@author
wengdi
*/
public
class
CreatePanel
extends
javax
.
swing
.
JPanel
{
/**
* Creates new form CreateJPanel
*/
private
Person
person
;
public
CreatePanel
(
Person
person
)
{
initComponents
();
this
.
person
=
person
;
}
/**
* 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”
)
//
private
void
initComponents
()
{
jLabel1
=
new
javax
.
swing
.
JLabel
();
jLabel2
=
new
javax
.
swing
.
JLabel
();
jLabel3
=
new
javax
.
swing
.
JLabel
();
jLabel4
=
new
javax
.
swing
.
JLabel
();
jLabel5
=
new
javax
.
swing
.
JLabel
();
jLabel6
=
new
javax
.
swing
.
JLabel
();
jLabel7
=
new
javax
.
swing
.
JLabel
();
jLabel8
=
new
javax
.
swing
.
JLabel
();
jLabel9
=
new
javax
.
swing
.
JLabel
();
jLabel10
=
new
javax
.
swing
.
JLabel
();
nameTF
=
new
javax
.
swing
.
JTextField
();
dateOfBirthTF
=
new
javax
.
swing
.
JTextField
();
telephoneNumberTF
=
new
javax
.
swing
.
JTextField
();
faxNumberTF
=
new
javax
.
swing
.
JTextField
();
emailAddressTF
=
new
javax
.
swing
.
JTextField
();
socialSecurityNumberTF
=
new
javax
.
swing
.
JTextField
();
bankAccountNumberTF
=
new
javax
.
swing
.
JTextField
();
certificateNumberTF
=
new
javax
.
swing
.
JTextField
();
linkedInTF
=
new
javax
.
swing
.
JTextField
();
fullFacePhotoTF
=
new
javax
.
swing
.
JTextField
();
createBtn
=
new
javax
.
swing
.
JButton
();
jButton1
=
new
javax
.
swing
.
JButton
();
imageLabel
=
new
javax
.
swing
.
JLabel
();
jLabel1
.
setFont
(
new
java
.
awt
.
Font
(
“Lucida Grande”
,
0
,
24
));
// NOI18N
jLabel1
.
setText
(
“Create”
);
jLabel2
.
setText
(
“Name:”
);
jLabel3
.
setText
(
“Date Of Birth:”
);
jLabel4
.
setText
(
“Telephone Number:”
);
jLabel5
.
setText
(
“Fax Number:”
);
jLabel6
.
setText
(
“Email Address:”
);
jLabel7
.
setText
(
“Social Security Number:”
);
jLabel8
.
setText
(
“Bank Account Number:”
);
jLabel9
.
setText
(
“Certificate Number:”
);
jLabel10
.
setText
(
“LinkedIn:”
);
dateOfBirthTF
.
addActionListener
(
new
java
.
awt
.
event
.
ActionListener
()
{
public
void
actionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
dateOfBirthTFActionPerformed
(
evt
);
}
});
createBtn
.
setText
(
“Create”
);
createBtn
.
addActionListener
(
new
java
.
awt
.
event
.
ActionListener
()
{
public
void
actionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
createBtnActionPerformed
(
evt
);
}
});
jButton1
.
setText
(
“Attach Full Face Photo”
);
jButton1
.
addActionListener
(
new
java
.
awt
.
event
.
ActionListener
()
{
public
void
actionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
jButton1ActionPerformed
(
evt
);
}
});
imageLabel
.
setText
(
“jLabel11”
);
javax
.
swing
.
GroupLayout
layout
=
new
javax
.
swing
.
GroupLayout
(
this
);
this
.
setLayout
(
layout
);
layout
.
setHorizontalGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGap
(
273
,
273
,
273
)
.
addComponent
(
jLabel1
))
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGap
(
54
,
54
,
54
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
TRAILING
)
.
addComponent
(
jLabel7
)
.
addComponent
(
jLabel2
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel3
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel4
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel5
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel6
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel8
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel9
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel10
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)))
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGap
(
46
,
46
,
46
)
.
addComponent
(
jButton1
)))
.
addGap
(
121
,
121
,
121
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
fullFacePhotoTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
277
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
,
false
)
.
addComponent
(
nameTF
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
277
,
Short
.
MAX_VALUE
)
.
addComponent
(
dateOfBirthTF
)
.
addComponent
(
telephoneNumberTF
)
.
addComponent
(
faxNumberTF
)
.
addComponent
(
emailAddressTF
)
.
addComponent
(
socialSecurityNumberTF
)
.
addComponent
(
bankAccountNumberTF
)
.
addComponent
(
certificateNumberTF
)
.
addComponent
(
linkedInTF
)))))
.
addContainerGap
(
38
,
Short
.
MAX_VALUE
))
.
addGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
TRAILING
,
layout
.
createSequentialGroup
()
.
addGap
(
66
,
66
,
66
)
.
addComponent
(
imageLabel
)
.
addPreferredGap
(
javax
.
swing
.
LayoutStyle
.
ComponentPlacement
.
RELATED
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
Short
.
MAX_VALUE
)
.
addComponent
(
createBtn
)
.
addGap
(
275
,
275
,
275
))
);
layout
.
setVerticalGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGap
(
29
,
29
,
29
)
.
addComponent
(
jLabel1
)
.
addGap
(
26
,
26
,
26
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel2
)
.
addComponent
(
nameTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel3
)
.
addComponent
(
dateOfBirthTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel4
)
.
addComponent
(
telephoneNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel5
)
.
addComponent
(
faxNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel6
)
.
addComponent
(
emailAddressTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel7
)
.
addComponent
(
socialSecurityNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel8
)
.
addComponent
(
bankAccountNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel9
)
.
addComponent
(
certificateNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel10
)
.
addComponent
(
linkedInTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
fullFacePhotoTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)
.
addComponent
(
jButton1
))
.
addGap
(
28
,
28
,
28
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
createBtn
)
.
addComponent
(
imageLabel
))
.
addContainerGap
(
41
,
Short
.
MAX_VALUE
))
);
}
// //GEN-END:initComponents
private
void
dateOfBirthTFActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
//GEN-FIRST:event_dateOfBirthTFActionPerformed
// TODO add your handling code here:
}
//GEN-LAST:event_dateOfBirthTFActionPerformed
private
void
createBtnActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
//GEN-FIRST:event_createBtnActionPerformed
// TODO add your handling code here:
person
.
setName
(
nameTF
.
getText
());
person
.
setDateOfBirth
(
dateOfBirthTF
.
getText
());
person
.
setTelephoneNumber
(
telephoneNumberTF
.
getText
());
person
.
setFaxNumber
(
faxNumberTF
.
getText
());
person
.
setEmailAddress
(
emailAddressTF
.
getText
());
person
.
setSocialSecurityNumber
(
socialSecurityNumberTF
.
getText
());
person
.
setBankAccountNumber
(
bankAccountNumberTF
.
getText
());
person
.
setCertificateNumber
(
certificateNumberTF
.
getText
());
person
.
setLinkedIn
(
linkedInTF
.
getText
());
person
.
setFullFacePhoto
(
fullFacePhotoTF
.
getText
());
JOptionPane
.
showMessageDialog
(
null
,
“Create Person Profile Successfully”
);
}
//GEN-LAST:event_createBtnActionPerformed
private
void
jButton1ActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
JFileChooser
chooser
=
new
JFileChooser
();
chooser
.
showOpenDialog
(
null
);
File
f
=
chooser
.
getSelectedFile
();
String
filename
=
f
.
getAbsolutePath
();
ImageIcon
image
=
new
ImageIcon
(
filename
);
imageLabel
.
setIcon
(
image
);
fullFacePhotoTF
.
setText
(
filename
);
}
//GEN-LAST:event_jButton1ActionPerformed
// Variables declaration – do not modify//GEN-BEGIN:variables
private
javax
.
swing
.
JTextField
bankAccountNumberTF
;
private
javax
.
swing
.
JTextField
certificateNumberTF
;
private
javax
.
swing
.
JButton
createBtn
;
private
javax
.
swing
.
JTextField
dateOfBirthTF
;
private
javax
.
swing
.
JTextField
emailAddressTF
;
private
javax
.
swing
.
JTextField
faxNumberTF
;
private
javax
.
swing
.
JTextField
fullFacePhotoTF
;
private
javax
.
swing
.
JLabel
imageLabel
;
private
javax
.
swing
.
JButton
jButton1
;
private
javax
.
swing
.
JLabel
jLabel1
;
private
javax
.
swing
.
JLabel
jLabel10
;
private
javax
.
swing
.
JLabel
jLabel2
;
private
javax
.
swing
.
JLabel
jLabel3
;
private
javax
.
swing
.
JLabel
jLabel4
;
private
javax
.
swing
.
JLabel
jLabel5
;
private
javax
.
swing
.
JLabel
jLabel6
;
private
javax
.
swing
.
JLabel
jLabel7
;
private
javax
.
swing
.
JLabel
jLabel8
;
private
javax
.
swing
.
JLabel
jLabel9
;
private
javax
.
swing
.
JTextField
linkedInTF
;
private
javax
.
swing
.
JTextField
nameTF
;
private
javax
.
swing
.
JTextField
socialSecurityNumberTF
;
private
javax
.
swing
.
JTextField
telephoneNumberTF
;
// End of variables declaration//GEN-END:variables
}
5100Assignment1/src/Interface/MainJFrame.form
5100Assignment1/src/Interface/MainJFrame.java
5100Assignment1/src/Interface/MainJFrame.java
/*
* 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.
*/
package
Interface
;
import
Profile
.
Person
;
/**
*
*
@author
wengdi
*/
public
class
MainJFrame
extends
javax
.
swing
.
JFrame
{
/**
* Creates new form MainJFrame
*/
private
Person
person
;
public
MainJFrame
()
{
initComponents
();
person
=
new
Person
();
}
/**
* 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”
)
//
private
void
initComponents
()
{
splitPanel
=
new
javax
.
swing
.
JSplitPane
();
controlJPanel
=
new
javax
.
swing
.
JPanel
();
createBtn
=
new
javax
.
swing
.
JButton
();
viewBtn
=
new
javax
.
swing
.
JButton
();
displayJPanel
=
new
javax
.
swing
.
JPanel
();
setDefaultCloseOperation
(
javax
.
swing
.
WindowConstants
.
EXIT_ON_CLOSE
);
createBtn
.
setText
(
“Create”
);
createBtn
.
addActionListener
(
new
java
.
awt
.
event
.
ActionListener
()
{
public
void
actionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
createBtnActionPerformed
(
evt
);
}
});
viewBtn
.
setText
(
“View”
);
viewBtn
.
addActionListener
(
new
java
.
awt
.
event
.
ActionListener
()
{
public
void
actionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
viewBtnActionPerformed
(
evt
);
}
});
javax
.
swing
.
GroupLayout
controlJPanelLayout
=
new
javax
.
swing
.
GroupLayout
(
controlJPanel
);
controlJPanel
.
setLayout
(
controlJPanelLayout
);
controlJPanelLayout
.
setHorizontalGroup
(
controlJPanelLayout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
controlJPanelLayout
.
createSequentialGroup
()
.
addContainerGap
(
13
,
Short
.
MAX_VALUE
)
.
addGroup
(
controlJPanelLayout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
,
false
)
.
addComponent
(
createBtn
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
Short
.
MAX_VALUE
)
.
addComponent
(
viewBtn
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
Short
.
MAX_VALUE
))
.
addGap
(
14
,
14
,
14
))
);
controlJPanelLayout
.
setVerticalGroup
(
controlJPanelLayout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
controlJPanelLayout
.
createSequentialGroup
()
.
addGap
(
168
,
168
,
168
)
.
addComponent
(
createBtn
)
.
addGap
(
35
,
35
,
35
)
.
addComponent
(
viewBtn
)
.
addContainerGap
(
246
,
Short
.
MAX_VALUE
))
);
splitPanel
.
setLeftComponent
(
controlJPanel
);
javax
.
swing
.
GroupLayout
displayJPanelLayout
=
new
javax
.
swing
.
GroupLayout
(
displayJPanel
);
displayJPanel
.
setLayout
(
displayJPanelLayout
);
displayJPanelLayout
.
setHorizontalGroup
(
displayJPanelLayout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGap
(
0
,
543
,
Short
.
MAX_VALUE
)
);
displayJPanelLayout
.
setVerticalGroup
(
displayJPanelLayout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGap
(
0
,
507
,
Short
.
MAX_VALUE
)
);
splitPanel
.
setRightComponent
(
displayJPanel
);
getContentPane
().
add
(
splitPanel
,
java
.
awt
.
BorderLayout
.
CENTER
);
pack
();
}
// //GEN-END:initComponents
private
void
createBtnActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
//GEN-FIRST:event_createBtnActionPerformed
// TODO add your handling code here:
CreatePanel
createPanel
=
new
CreatePanel
(
person
);
splitPanel
.
setRightComponent
(
createPanel
);
}
//GEN-LAST:event_createBtnActionPerformed
private
void
viewBtnActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
//GEN-FIRST:event_viewBtnActionPerformed
// TODO add your handling code here:
ViewPanel
viewPanel
=
new
ViewPanel
(
person
);
splitPanel
.
setRightComponent
(
viewPanel
);
}
//GEN-LAST:event_viewBtnActionPerformed
/**
*
@param
args the command line arguments
*/
public
static
void
main
(
String
args
[])
{
/* Set the Nimbus look and feel */
//
/* 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
(
MainJFrame
.
class
.
getName
()).
log
(
java
.
util
.
logging
.
Level
.
SEVERE
,
null
,
ex
);
}
catch
(
InstantiationException
ex
)
{
java
.
util
.
logging
.
Logger
.
getLogger
(
MainJFrame
.
class
.
getName
()).
log
(
java
.
util
.
logging
.
Level
.
SEVERE
,
null
,
ex
);
}
catch
(
IllegalAccessException
ex
)
{
java
.
util
.
logging
.
Logger
.
getLogger
(
MainJFrame
.
class
.
getName
()).
log
(
java
.
util
.
logging
.
Level
.
SEVERE
,
null
,
ex
);
}
catch
(
javax
.
swing
.
UnsupportedLookAndFeelException
ex
)
{
java
.
util
.
logging
.
Logger
.
getLogger
(
MainJFrame
.
class
.
getName
()).
log
(
java
.
util
.
logging
.
Level
.
SEVERE
,
null
,
ex
);
}
//
/* Create and display the form */
java
.
awt
.
EventQueue
.
invokeLater
(
new
Runnable
()
{
public
void
run
()
{
new
MainJFrame
().
setVisible
(
true
);
}
});
}
// Variables declaration – do not modify//GEN-BEGIN:variables
private
javax
.
swing
.
JPanel
controlJPanel
;
private
javax
.
swing
.
JButton
createBtn
;
private
javax
.
swing
.
JPanel
displayJPanel
;
private
javax
.
swing
.
JSplitPane
splitPanel
;
private
javax
.
swing
.
JButton
viewBtn
;
// End of variables declaration//GEN-END:variables
}
5100Assignment1/src/Interface/ViewPanel.form
5100Assignment1/src/Interface/ViewPanel.java
5100Assignment1/src/Interface/ViewPanel.java
/*
* 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.
*/
package
Interface
;
import
Profile
.
Person
;
import
javax
.
swing
.
ImageIcon
;
/**
*
*
@author
wengdi
*/
public
class
ViewPanel
extends
javax
.
swing
.
JPanel
{
/**
* Creates new form ViewJPanel
*/
private
Person
person
;
public
ViewPanel
(
Person
person
)
{
initComponents
();
displayPerson
(
person
);
}
private
void
displayPerson
(
Person
person
){
String
personName
=
person
.
getName
();
nameTF
.
setText
(
personName
);
String
personDateOfBirth
=
person
.
getDateOfBirth
();
dateOfBirthTF
.
setText
(
personDateOfBirth
);
String
personTelephoneNumber
=
person
.
getTelephoneNumber
();
telephoneNumberTF
.
setText
(
personTelephoneNumber
);
String
personFaxNumber
=
person
.
getFaxNumber
();
faxNumberTF
.
setText
(
personFaxNumber
);
String
personEmailAddress
=
person
.
getEmailAddress
();
emailAddressTF
.
setText
(
personEmailAddress
);
String
personSocialSecurityNumber
=
person
.
getSocialSecurityNumber
();
socialSecurityNumberTF
.
setText
(
personSocialSecurityNumber
);
String
personBankAccountNumber
=
person
.
getBankAccountNumber
();
bankAccountNumberTF
.
setText
(
personBankAccountNumber
);
String
personCertificateNumber
=
person
.
getCertificateNumber
();
certificateNumberTF
.
setText
(
personCertificateNumber
);
String
personLinkedIn
=
person
.
getLinkedIn
();
linkedInTF
.
setText
(
personLinkedIn
);
ImageIcon
image
=
new
ImageIcon
(
person
.
getFullFacePhoto
());
imageLable
.
setIcon
(
image
);
}
/**
* 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”
)
//
private
void
initComponents
()
{
jLabel1
=
new
javax
.
swing
.
JLabel
();
jLabel2
=
new
javax
.
swing
.
JLabel
();
nameTF
=
new
javax
.
swing
.
JTextField
();
dateOfBirthTF
=
new
javax
.
swing
.
JTextField
();
jLabel3
=
new
javax
.
swing
.
JLabel
();
jLabel4
=
new
javax
.
swing
.
JLabel
();
jLabel5
=
new
javax
.
swing
.
JLabel
();
jLabel6
=
new
javax
.
swing
.
JLabel
();
jLabel7
=
new
javax
.
swing
.
JLabel
();
socialSecurityNumberTF
=
new
javax
.
swing
.
JTextField
();
emailAddressTF
=
new
javax
.
swing
.
JTextField
();
faxNumberTF
=
new
javax
.
swing
.
JTextField
();
telephoneNumberTF
=
new
javax
.
swing
.
JTextField
();
jLabel8
=
new
javax
.
swing
.
JLabel
();
jLabel9
=
new
javax
.
swing
.
JLabel
();
bankAccountNumberTF
=
new
javax
.
swing
.
JTextField
();
certificateNumberTF
=
new
javax
.
swing
.
JTextField
();
jLabel10
=
new
javax
.
swing
.
JLabel
();
linkedInTF
=
new
javax
.
swing
.
JTextField
();
jLabel11
=
new
javax
.
swing
.
JLabel
();
imageLable
=
new
javax
.
swing
.
JLabel
();
jLabel1
.
setFont
(
new
java
.
awt
.
Font
(
“Lucida Grande”
,
0
,
24
));
// NOI18N
jLabel1
.
setText
(
“View”
);
jLabel2
.
setText
(
“Name:”
);
dateOfBirthTF
.
addActionListener
(
new
java
.
awt
.
event
.
ActionListener
()
{
public
void
actionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
dateOfBirthTFActionPerformed
(
evt
);
}
});
jLabel3
.
setText
(
“Date Of Birth:”
);
jLabel4
.
setText
(
“Telephone Number:”
);
jLabel5
.
setText
(
“Fax Number:”
);
jLabel6
.
setText
(
“Email Address:”
);
jLabel7
.
setText
(
“Social Security Number:”
);
jLabel8
.
setText
(
“Bank Account Number:”
);
jLabel9
.
setText
(
“Certificate Number:”
);
jLabel10
.
setText
(
“LinkedIn:”
);
jLabel11
.
setText
(
“Full Face Photo:”
);
javax
.
swing
.
GroupLayout
layout
=
new
javax
.
swing
.
GroupLayout
(
this
);
this
.
setLayout
(
layout
);
layout
.
setHorizontalGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGap
(
54
,
54
,
54
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
TRAILING
)
.
addComponent
(
jLabel7
)
.
addComponent
(
jLabel2
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel3
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel4
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel5
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel6
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel8
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel9
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel10
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addComponent
(
jLabel11
,
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
))
.
addGap
(
113
,
113
,
113
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
,
false
)
.
addComponent
(
nameTF
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
277
,
Short
.
MAX_VALUE
)
.
addComponent
(
dateOfBirthTF
)
.
addComponent
(
telephoneNumberTF
)
.
addComponent
(
faxNumberTF
)
.
addComponent
(
emailAddressTF
)
.
addComponent
(
socialSecurityNumberTF
)
.
addComponent
(
bankAccountNumberTF
)
.
addComponent
(
certificateNumberTF
)
.
addComponent
(
linkedInTF
)
.
addComponent
(
imageLable
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
130
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
)))
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGap
(
293
,
293
,
293
)
.
addComponent
(
jLabel1
)))
.
addContainerGap
(
78
,
Short
.
MAX_VALUE
))
);
layout
.
setVerticalGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
LEADING
)
.
addGroup
(
layout
.
createSequentialGroup
()
.
addGap
(
37
,
37
,
37
)
.
addComponent
(
jLabel1
)
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel2
)
.
addComponent
(
nameTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel3
)
.
addComponent
(
dateOfBirthTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel4
)
.
addComponent
(
telephoneNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel5
)
.
addComponent
(
faxNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel6
)
.
addComponent
(
emailAddressTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel7
)
.
addComponent
(
socialSecurityNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel8
)
.
addComponent
(
bankAccountNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel9
)
.
addComponent
(
certificateNumberTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel10
)
.
addComponent
(
linkedInTF
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
javax
.
swing
.
GroupLayout
.
DEFAULT_SIZE
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addGap
(
18
,
18
,
18
)
.
addGroup
(
layout
.
createParallelGroup
(
javax
.
swing
.
GroupLayout
.
Alignment
.
BASELINE
)
.
addComponent
(
jLabel11
)
.
addComponent
(
imageLable
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
,
76
,
javax
.
swing
.
GroupLayout
.
PREFERRED_SIZE
))
.
addContainerGap
(
17
,
Short
.
MAX_VALUE
))
);
}
// //GEN-END:initComponents
private
void
dateOfBirthTFActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
//GEN-FIRST:event_dateOfBirthTFActionPerformed
// TODO add your handling code here:
}
//GEN-LAST:event_dateOfBirthTFActionPerformed
// Variables declaration – do not modify//GEN-BEGIN:variables
private
javax
.
swing
.
JTextField
bankAccountNumberTF
;
private
javax
.
swing
.
JTextField
certificateNumberTF
;
private
javax
.
swing
.
JTextField
dateOfBirthTF
;
private
javax
.
swing
.
JTextField
emailAddressTF
;
private
javax
.
swing
.
JTextField
faxNumberTF
;
private
javax
.
swing
.
JLabel
imageLable
;
private
javax
.
swing
.
JLabel
jLabel1
;
private
javax
.
swing
.
JLabel
jLabel10
;
private
javax
.
swing
.
JLabel
jLabel11
;
private
javax
.
swing
.
JLabel
jLabel2
;
private
javax
.
swing
.
JLabel
jLabel3
;
private
javax
.
swing
.
JLabel
jLabel4
;
private
javax
.
swing
.
JLabel
jLabel5
;
private
javax
.
swing
.
JLabel
jLabel6
;
private
javax
.
swing
.
JLabel
jLabel7
;
private
javax
.
swing
.
JLabel
jLabel8
;
private
javax
.
swing
.
JLabel
jLabel9
;
private
javax
.
swing
.
JTextField
linkedInTF
;
private
javax
.
swing
.
JTextField
nameTF
;
private
javax
.
swing
.
JTextField
socialSecurityNumberTF
;
private
javax
.
swing
.
JTextField
telephoneNumberTF
;
// End of variables declaration//GEN-END:variables
}
5100Assignment1/src/Profile/Person.java
5100Assignment1/src/Profile/Person.java
/*
* 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.
*/
package
Profile
;
import
javax
.
swing
.
ImageIcon
;
/**
*
*
@author
wengdi
*/
public
class
Person
{
private
String
name
;
private
String
dateOfBirth
;
private
String
telephoneNumber
;
private
String
faxNumber
;
private
String
emailAddress
;
private
String
socialSecurityNumber
;
private
String
bankAccountNumber
;
private
String
certificateNumber
;
private
String
linkedIn
;
private
String
fullFacePhoto
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getDateOfBirth
()
{
return
dateOfBirth
;
}
public
void
setDateOfBirth
(
String
dateOfBirth
)
{
this
.
dateOfBirth
=
dateOfBirth
;
}
public
String
getTelephoneNumber
()
{
return
telephoneNumber
;
}
public
void
setTelephoneNumber
(
String
telephoneNumber
)
{
this
.
telephoneNumber
=
telephoneNumber
;
}
public
String
getFaxNumber
()
{
return
faxNumber
;
}
public
void
setFaxNumber
(
String
faxNumber
)
{
this
.
faxNumber
=
faxNumber
;
}
public
String
getEmailAddress
()
{
return
emailAddress
;
}
public
void
setEmailAddress
(
String
emailAddress
)
{
this
.
emailAddress
=
emailAddress
;
}
public
String
getSocialSecurityNumber
()
{
return
socialSecurityNumber
;
}
public
void
setSocialSecurityNumber
(
String
socialSecurityNumber
)
{
this
.
socialSecurityNumber
=
socialSecurityNumber
;
}
public
String
getBankAccountNumber
()
{
return
bankAccountNumber
;
}
public
void
setBankAccountNumber
(
String
bankAccountNumber
)
{
this
.
bankAccountNumber
=
bankAccountNumber
;
}
public
String
getCertificateNumber
()
{
return
certificateNumber
;
}
public
void
setCertificateNumber
(
String
certificateNumber
)
{
this
.
certificateNumber
=
certificateNumber
;
}
public
String
getLinkedIn
()
{
return
linkedIn
;
}
public
void
setLinkedIn
(
String
linkedIn
)
{
this
.
linkedIn
=
linkedIn
;
}
public
String
getFullFacePhoto
()
{
return
fullFacePhoto
;
}
public
void
setFullFacePhoto
(
String
fullFacePhoto
)
{
this
.
fullFacePhoto
=
fullFacePhoto
;
}
}
Search Illustration and exampleSearch Illustration and example
1. Use enters last name
2. User hits find button
3. MainJFrame captures push
button event
4 MainJframew extracts text fromEmployee getFirstName()
1
4. MainJframew extracts text from
employeelasname textfield
5. MainJFrame uses the
employeedirectory to find the
employee object that matches
the entered last name
6 The findEmpoyee Jpanel takes
Employee.getFirstName()
Employee.getLasName()
:
LastnameTextfield getText()
2
6. The findEmpoyee Jpanel takes
an employee object as input. In
the constructor we map the
attributes of the employee object
to the text fields of the jpanel. We
use setText() method on the text
fi ldLastnameTextfield.getText()
4
3 6
fields
employeedirectory.findByLastName( )5
This section of code is the actionperformed event in the MainJFrame
:
Display employee data into
findEmployeejpanel screen
Found
employee
object
Returned employee object
findEmployeeByLastName Method
Add the following method to the EmployeeDirectory class
Public Employee findEmployeeByLastName( String ln ){
ArrayList employeelist; //define a new reference variable to hold the list of employees
Employeelist = employeedirectory.getEmployeeList(); // retrieve the list of employees from the direcoty
//now go through the list, one employee at the time to find the object that has a last name that matches the input ln
//if there is a match on the last name attribute then return the employee object with that attribute (last name in this//if there is a match on the last name attribute then return the employee object with that attribute (last name in this
//case
For (Employee currentemployee : employeelist){
If (currentemployee getLastName() equals(ln) ) return currentemployee ;If (currentemployee .getLastName().equals(ln) ) return currentemployee ;
} // keep going back while there is no match
Return null; // the program gets to this line if no mtach was found which means return null;