Home > Archive > Java Help > March 2006 > Gui Question
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
|
|
|
| Hi
I have to create a gui interface for employees to calculate their
salaries. I have five separate classes. I can create the gui myself
and have been given the other five classes. Now i need to link them
but not sure how to do so. Is it through action listener and event
handlers? Or is there anywhere i could see an example
cheers
Ian
| |
| Thomas Weidenfeller 2006-03-29, 8:02 am |
| IanH wrote:
> I have to create a gui interface for employees to calculate their
> salaries. I have five separate classes. I can create the gui myself
> and have been given the other five classes. Now i need to link them
> but not sure how to do so. Is it through action listener and event
> handlers? Or is there anywhere i could see an example
You could work for example through Sun's GUI tutorial. The TSC articles
about the AWT and Swing architecture, and about Java threading might
also be a good idea. Pointers are in the FAQ.
/Thomas
--
The comp.lang.java.gui FAQ:
ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS...ng/java/gui/faq
http://www.uni-giessen.de/faq/archi...g.java.gui.faq/
| |
|
|
|
|
"IanH" <hill_ian_j@yahoo.co.uk> wrote in message
news:1143629256.947153.275010@i40g2000cwc.googlegroups.com...
> Hi
>
> I have to create a gui interface for employees to calculate their
> salaries. I have five separate classes. I can create the gui myself
> and have been given the other five classes. Now i need to link them
> but not sure how to do so. Is it through action listener and event
> handlers? Or is there anywhere i could see an example
>
It's very hard to suggest anything specific since you haven't given us any
idea what your five existing classes do beyond saying that they have
_something_ to do with employee salaries.
However, as a broad generalization - that may not be valid in your
situation - I would say that most programs using a GUI construct the GUI
very early on in the life of the program, then let the user initiate various
actions via buttons, menus or other controls in the GUI. Listeners and/or
event handlers will be attached to the GUI components and then initiate the
appropriate activities for responding to each GUI component.
I would suggest that you begin by reading through the examples that are
linked into this page of the Java Tutorial to get a good general overview of
how GUIs are constructed:
http://java.sun.com/docs/books/tuto...arn/index.html.
Then, if you want to explore particular components, go to
http://java.sun.com/docs/books/tuto...components.html
and click on the graphic for the GUI component(s) that you want to use to
see how to use it. In each case, you will be taken to a topic that explores
that control and how to use it via one or more small but useful examples.
The key lines of the source code for each example are explained in the topic
and links are provided so that you can run the example and see/download the
entire source code.
--
Rhino
| |
|
| Hi,
I have posted my code for the interface if anyone can help. I have to
create an interface for employees pay. I think i need to create an
instance of the object (object names are Employee, SalariedEmployee,
CommissionEmployee and BasePlusCommission)for each type of employee but
not sure.
Ian
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public interface Payable
{
double getPaymentAmout();
}
public class MyPanel extends JFrame implements ActionListener
{
private JLabel labelfirstname;//
private JTextField first;
private JLabel labellastname;
private JTextField last;
private JLabel labelssn;
private JTextField ssn;
private JLabel labelhoursworked;
private JLabel labelrateofpay;
private JTextField hoursWorked;
private JTextField rateOfPay;
private JLabel labelsalary;
private JTextField salary;
private JLabel labeltotalsales;
private JLabel labelcommission;
private JTextField totalSales;
private JTextField commission;
private JButton buttonSubmit;
private JLabel labeltype;
private JComboBox type;
private JLabel labeltext;
private JTextArea textareaResults;
private JLabel labelrenumeration;
public MyPanel(String str)
{
super(str);
//construct preComponents
String[] typeItems = {"Hourly", "Salary", "Commission", "Base
plus Commission"};
Container c = getContentPane();
c.setLayout(null);
setSize(850,650);
setLocationRelativeTo(null);
//construct components
labelfirstname = new JLabel (" First Name");
add (labelfirstname);
first = new JTextField (5);
add (first);
labellastname = new JLabel (" Last Name");
add (labellastname);
last = new JTextField (5);
add (last);
labelssn = new JLabel (" Social Security Number");
add (labelssn);
ssn = new JTextField (5);
add (ssn);
labelhoursworked = new JLabel (" Hours Worked");
add (labelhoursworked);
labelrateofpay = new JLabel (" Rate of Pay");
add (labelrateofpay);
hoursWorked = new JTextField (5);
add (hoursWorked);
rateOfPay = new JTextField (5);
add (rateOfPay);
labelsalary = new JLabel (" Salary");
add (labelsalary);
salary = new JTextField (5);
add (salary);
labeltotalsales = new JLabel (" Total Sales");
add (labeltotalsales);
labelcommission = new JLabel (" Commission Rate");
add (labelcommission);
totalSales = new JTextField (5);
add (totalSales);
commission = new JTextField (5);
add (commission);
buttonSubmit = new JButton ("SUBMIT");
add (buttonSubmit);
labeltype = new JLabel (" Type of Employee");
add (labeltype);
type = new JComboBox (typeItems);
add (type);
labeltext = new JLabel (" Please fill in only text boxes
appropriate to the type of Employee");
add (labeltext);
textareaResults = new JTextArea (5, 5);
add (textareaResults);
labelrenumeration = new JLabel (" Renumeration");
add (labelrenumeration);
//adjust size and set layout
setPreferredSize (new Dimension (646, 571));
setLayout (null);
//set component bounds (only needed by Absolute Positioning)
labelfirstname.setBounds (15, 31, 72, 25);
first.setBounds (90, 31, 110, 25);
labellastname.setBounds (214, 31, 71, 25);
last.setBounds (285, 31, 100, 25);
labelssn.setBounds (400, 31, 144, 25);
ssn.setBounds (545, 31, 100, 25);
labelhoursworked.setBounds (15, 250, 100, 25);
labelrateofpay.setBounds (225, 250, 76, 25);
hoursWorked.setBounds (110, 250, 100, 25);
rateOfPay.setBounds (305, 250, 100, 25);
labelsalary.setBounds (10, 315, 51, 25);
salary.setBounds (60, 315, 100, 25);
labeltotalsales.setBounds (170, 315, 100, 25);
labelcommission.setBounds (379, 315, 112, 25);
totalSales.setBounds (246, 315, 100, 25);
commission.setBounds (494, 315, 100, 25);
buttonSubmit.setBounds (505, 350, 100, 25);
labeltype.setBounds (15, 110, 110, 20);
type.setBounds (125, 105, 135, 25);
labeltext.setBounds (15, 185, 370, 25);
textareaResults.setBounds (50, 410, 565, 140);
labelrenumeration.setBounds (50, 385, 100, 25);
//register event handlers
buttonSubmit.addActionListener( this );
}//end MyPanel constuctor
//process events
public void actionPerformed( ActionEvent event)
{
if (event.getSource() == buttonSubmit)
{
//Enabling the Text Area's
first.setEnabled (true);
last.setEnabled (true);
ssn.setEnabled (true);
type.setEnabled (true);
hoursWorked.setEnabled (true);
rateOfPay.setEnabled (true);
salary.setEnabled (true);
totalSales.setEnabled (true);
commission.setEnabled (true);
//Setting the Text Area's to Null
first.setText("");
last.setText("");
ssn.setText("");
//type.setText("");
hoursWorked.setText("");
rateOfPay.setText("");
salary.setText("");
totalSales.setText("");
commission.setText("");
}
// create subclass objects
// SalariedEmployee salariedEmployee = new SalariedEmployee;
//HourlyEmployee hourlyEmployee = new HourlyEmployee();
// CommissionEmployee commissionEmployee = new
CommissionEmployee();
//BasePlusCommissionEmployee basePlusCommissionEmployee = new
BasePlusCommissionEmployee();
}
public static void main (String[] args)
{
MyPanel pr = new MyPanel("ww");
pr.show();
//JFrame frame = new JFrame ("MyPanel");
//frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
//frame.getContentPane().add (new MyPanel());
//frame.pack();
//frame.setVisible (true);
}
}
//
| |
|
|
"IanH" <hill_ian_j@yahoo.co.uk> wrote in message
news:1143661396.827405.20890@u72g2000cwu.googlegroups.com...
> Hi,
> I have posted my code for the interface if anyone can help. I have to
> create an interface for employees pay. I think i need to create an
> instance of the object (object names are Employee, SalariedEmployee,
> CommissionEmployee and BasePlusCommission)for each type of employee but
> not sure.
>
At the very least, I think you need to post the complete text of the
assignment. It is impossible to guide you very far without knowing what you
are trying to do. You can't do the assignment without having a clear
understanding of what is required and it is just as hard for us to help you
if we don't know what you are trying to accomplish.
I also think it would be a good idea for you to work through the general
overview of how GUIs are constructed in the Java Tutorial -
http://java.sun.com/docs/books/tuto...earn/index.html - to get
the basic concepts down before we try to tackle this specific problem. Even
if you don't have the time to actually play with the examples, just reading
that section through carefully will give you a foundation of concepts and
techniques that we need to have in common before we can talk about your
assignment. It really shouldn't take you very long to read through this
section so I highly recommend that you do this.
Naturally, if you have course notes or a textbook that you like better which
covers the same sort of material, feel free to read that instead of this
section of the Java tutorial. Everyone has their own best way of learning
and you need to use the learning techniques that work best for you. But I
think you need to get some of the concepts under your belt before we can
really converse about what you are going to do.
--
Rhino
| |
|
| I'm reading through the java sun tutorials but finding it pretty hard
as i'm new to all of this.
My assignment is to develop an interface that will run the Payroll
System application for five classes we have been given. Using a
JComboBox and JTextFields, allow the user to specify the type of
employee they wish to create and specify the data concerning that
employee. Have the output displayed in a JTextArea. I have included the
five classes plus the test class which just outputs the predefined
data.
Ian
Employee Class
________________________________________
_________
public abstract class Employee implements MyPanel
{
private String firstName;
private String lastName;
private String socialSecurityNumber;
// three-argument constructor
public Employee( String first, String last, String ssn )
{
firstName = first;
lastName = last;
socialSecurityNumber = ssn;
} // end three-argument Employee constructor
// set first name
public void setFirstName( String first )
{
firstName = first;
} // end method setFirstName
// return first name
public String getFirstName()
{
return firstName;
} // end method getFirstName
// set last name
public void setLastName( String last )
{
lastName = last;
} // end method setLastName
// return last name
public String getLastName()
{
return lastName;
} // end method getLastName
// set social security number
public void setSocialSecurityNumber( String ssn )
{
socialSecurityNumber = ssn; // should validate
} // end method setSocialSecurityNumber
// return social security number
public String getSocialSecurityNumber()
{
return socialSecurityNumber;
} // end method getSocialSecurityNumber
// return String representation of Employee object
public String toString()
{
return String.format( "%s %s\nsocial security number: %s",
getFirstName(), getLastName(), getSocialSecurityNumber() );
} // end method toString
// we do not implement Payable method getPaymentAmount here so
// this class must be declared abstract to avoid a compilation error
} // end abstract class Employee
Salaried Employee
______________________________
public class SalariedEmployee extends Employee
{
private double w lySalary;
// four-argument constructor
public SalariedEmployee( String first, String last, String ssn,
double salary )
{
super( first, last, ssn ); // pass to Employee constructor
setW lySalary( salary ); // validate and store salary
} // end four-argument SalariedEmployee constructor
// set salary
public void setW lySalary( double salary )
{
w lySalary = salary < 0.0 ? 0.0 : salary;
} // end method setW lySalary
// return salary
public double getW lySalary()
{
return w lySalary;
} // end method getW lySalary
// calculate earnings; implement Payable method that was
// abstract in superclass employee
public double getPaymentAmount()
{
return getW lySalary();
} // end method getPaymentAmount
// return String representation of SalariedEmployee object
public String toString()
{
return String.format( "salaried employee: %s\n%s: $%,.2f",
super.toString(), "w ly salary", getW lySalary() );
} // end method toString
} // end class SalariedEmployee
Commission Employee
_________________________
public class CommissionEmployee extends Employee
{
private double grossSales; // gross w ly sales
private double commissionRate; // commission percentage
// five-argument constructor
public CommissionEmployee( String first, String last, String ssn,
double sales, double rate )
{
super( first, last, ssn );
setGrossSales( sales );
setCommissionRate( rate );
} // end five-argument CommissionEmployee constructor
// set commission rate
public void setCommissionRate( double rate )
{
commissionRate = ( rate > 0.0 && rate < 1.0 ) ? rate : 0.0;
} // end method setCommissionRate
// return commission rate
public double getCommissionRate()
{
return commissionRate;
} // end method getCommissionRate
// set gross sales amount
public void setGrossSales( double sales )
{
grossSales = ( sales < 0.0 ) ? 0.0 : sales;
} // end method setGrossSales
// return gross sales amount
public double getGrossSales()
{
return grossSales;
} // end method getGrossSales
// calculate earnings; implement interface Payable method that was
// abstract in superclass Employee
public double getPaymentAmount()
{
return getCommissionRate() * getGrossSales();
} // end method getPaymentAmount
// return String representation of CommissionEmployee object
// return String representation of CommissionEmployee object
public String toString()
{
return String.format( "%s: %s\n%s: $%,.2f; %s: %.2f",
"commission employee", super.toString(),
"gross sales", getGrossSales(),
"commission rate", getCommissionRate() );
} // end method toString
} // end class CommissionEmployee
Hourly Employee
_______________________
public class HourlyEmployee extends Employee
{
private double wage; // wage per hour
private double hours; // hours worked for w
// five-argument constructor
public HourlyEmployee( String first, String last, String ssn,
double hourlyWage, double hoursWorked )
{
super( first, last, ssn );
setWage( hourlyWage ); // validate and store hourly wage
setHours( hoursWorked ); // validate and store hours worked
} // end five-argument HourlyEmployee constructor
// set wage
public void setWage( double hourlyWage )
{
wage = ( hourlyWage < 0.0 ) ? 0.0 : hourlyWage;
} // end method setWage
// return wage
public double getWage()
{
return wage;
} // end method getWage
// set hours worked
public void setHours( double hoursWorked )
{
hours = ( ( hoursWorked >= 0.0 ) && ( hoursWorked <= 168.0 ) ) ?
hoursWorked : 0.0;
} // end method setHours
// return hours worked
public double getHours()
{
return hours;
} // end method getHours
// calculate earnings; implement interface Payable method that was
// abstract in superclass Employee
public double getPaymentAmount()
{
if ( getHours() <= 40 ) // no overtime
return getWage() * getHours();
else
return 40 * getWage() + ( getHours() - 40 ) * getWage() * 1.5;
} // end method getPaymentAmount
// return String representation of HourlyEmployee object
public String toString()
{
return String.format( "hourly employee: %s\n%s: $%,.2f; %s:
%,.2f",
super.toString(), "hourly wage", getWage(),
"hours worked", getHours() );
} // end method toString
} // end class HourlyEmployee
BasePlus Commission
__________________
public class BasePlusCommissionEmployee extends CommissionEmployee
{
private double baseSalary; // base salary per w
// six-argument constructor
public BasePlusCommissionEmployee( String first, String last,
String ssn, double sales, double rate, double salary )
{
super( first, last, ssn, sales, rate );
setBaseSalary( salary ); // validate and store base salary
} // end six-argument BasePlusCommissionEmployee constructor
// set base salary
public void setBaseSalary( double salary )
{
baseSalary = ( salary < 0.0 ) ? 0.0 : salary; // non-negative
} // end method setBaseSalary
// return base salary
public double getBaseSalary()
{
return baseSalary;
} // end method getBaseSalary
// calculate earnings; implement interface Payable method that was
// abstract in superclass Employee
public double getPaymentAmount()
{
return getBaseSalary() + super. getPaymentAmount();
} // end method getPaymentAmount
// return String representation of BasePlusCommissionEmployee object
public String toString()
{
return String.format( "%s %s; %s: $%,.2f",
"base-salaried", super.toString(),
"base salary", getBaseSalary() );
} // end method toString
} // end class BasePlusCommissionEmployee
Test Data
______________________
// Tests Payable Interface
public class PayableInterfaceTest
{
public static void main( String args[] )
{
// create subclass objects
SalariedEmployee salariedEmployee =
new SalariedEmployee( "John", "Smith", "111-11-1111", 800.00
);
HourlyEmployee hourlyEmployee =
new HourlyEmployee( "Karen", "Price", "222-22-2222", 16.75, 40
);
CommissionEmployee commissionEmployee =
new CommissionEmployee(
"Sue", "Jones", "333-33-3333", 10000, .06 );
BasePlusCommissionEmployee basePlusCommissionEmployee =
new BasePlusCommissionEmployee(
"Bob", "Lewis", "444-44-4444", 5000, .04, 300 );
System.out.println( "Employees processed individually:\n" );
System.out.printf( "%s\n%s: $%,.2f\n\n",
salariedEmployee, "earned",
salariedEmployee.getPaymentAmount() );
System.out.printf( "%s\n%s: $%,.2f\n\n",
hourlyEmployee, "earned", hourlyEmployee.getPaymentAmount() );
System.out.printf( "%s\n%s: $%,.2f\n\n",
commissionEmployee, "earned",
commissionEmployee.getPaymentAmount() );
System.out.printf( "%s\n%s: $%,.2f\n\n",
basePlusCommissionEmployee,
"earned", basePlusCommissionEmployee.getPaymentAmount() );
// create four-element Employee array
Employee employees[] = new Employee[ 4 ];
// initialize array with Employees
employees[ 0 ] = salariedEmployee;
employees[ 1 ] = hourlyEmployee;
employees[ 2 ] = commissionEmployee;
employees[ 3 ] = basePlusCommissionEmployee;
System.out.println( "Employees processed polymorphically:\n" );
// generically process each element in array employees
for ( Employee currentEmployee : employees )
{
System.out.println( currentEmployee ); // invokes toString
// determine whether element is a BasePlusCommissionEmployee
if ( currentEmployee instanceof BasePlusCommissionEmployee )
{
// downcast Employee reference to
// BasePlusCommissionEmployee reference
BasePlusCommissionEmployee employee =
( BasePlusCommissionEmployee ) currentEmployee;
double oldBaseSalary = employee.getBaseSalary();
employee.setBaseSalary( 1.10 * oldBaseSalary );
System.out.printf(
"new base salary with 10%% increase is: $%,.2f\n",
employee.getBaseSalary() );
} // end if
System.out.printf(
"earned $%,.2f\n\n", currentEmployee.getPaymentAmount() );
} // end for
// get type name of each object in employees array
for ( int j = 0; j < employees.length; j++ )
System.out.printf( "Employee %d is a %s\n", j,
employees[ j ].getClass().getName() );
} // end main
} // end class PayrollSystemTest
| |
|
|
"IanH" <hill_ian_j@yahoo.co.uk> wrote in message
news:1143668865.411740.217580@t31g2000cwb.googlegroups.com...
> I'm reading through the java sun tutorials but finding it pretty hard
> as i'm new to all of this.
>
> My assignment is to develop an interface that will run the Payroll
> System application for five classes we have been given. Using a
> JComboBox and JTextFields, allow the user to specify the type of
> employee they wish to create and specify the data concerning that
> employee. Have the output displayed in a JTextArea. I have included the
> five classes plus the test class which just outputs the predefined
> data.
>
Okay, I'm starting to develop a mental picture of what you'll need to do to
solve this problem. I need to think about it a bit more to get a good solid
idea of exactly how the GUI will flow.
In the meantime, keep working your way through the GUI tutorial. Don't worry
too much if you don't understand everything but make a point of writing down
your questions whether they are big conceptual questions or smaller detail
questions. When you've gone through the tutorial material and have a list of
questions, post them here and we can try to answer them in a way that is
clear for you.
Then, you should be in a good position to work out a lot of the solution to
your current problem. Again, we can help you with specific questions that
you might have about solving the problem.
As you think about this problem, ask yourself what the user should see when
they do the work envisioned in the assignment, i.e. when they add employees
and calculate payment amounts for the next payroll. It would be very useful
for you to sketch the screens that the user will see and exactly what
fields, labels, and buttons (or other controls) will be on each screen.
Then, we can help verify that you are asking for the right things in the
right sequence and help you build the screens and the handling of the data
and controls.
By the way, when I say "we", I'm not employing the "royal we"; I hope that
at least the two of us work on this until you feel comfortable enough to
finish on your own. Ideally, others on this newsgroup will also jump in to
suggest things.
--
Rhino
| |
|
| I do have some questions
1. Do I need to use the following code to declare instances of the
objects?
SalariedEmployee salariedEmployee = new SalariedEmployee
HourlyEmployee hourlyEmployee = new HourlyEmployee
CommissionEmployee commissionEmployee = new CommissionEmployee
BasePlusCommissionEmployee basePlusCommissionEmployee = new
BasePlusCommissionEmployee
2. the combobox on the interface currently doesn't have any action
attached to it. Can i use it to specify the type of employee to create.
Ian
| |
| Bjorn Abelli 2006-03-30, 8:02 am |
|
"IanH" wrote...
>I do have some questions
>
> 1. Do I need to use the following code to declare instances of the
> objects?
>
> SalariedEmployee salariedEmployee = new SalariedEmployee
>
> HourlyEmployee hourlyEmployee = new HourlyEmployee
>
> CommissionEmployee commissionEmployee = new CommissionEmployee
>
> BasePlusCommissionEmployee basePlusCommissionEmployee = new
> BasePlusCommissionEmployee
You'll need to do it somewhere to have any instances to play with, just as
in the PayableInterfaceTest your teacher has provided.
> 2. the combobox on the interface currently doesn't have any action
> attached to it. Can i use it to specify the type of employee to create.
Sure you can, if that's what you want.
As this seems to be a school assignment, you could take the easy way out,
and that is to
- have JTextFields for all attributes in the classes (those needed
in the constructors in each class).
- use the JComboBox "passively" just to choose which type of instance
you want to create,
- use a JButton (with an associated ActionListener) in order to:
o. instantiate from the chosen class
(get selected value from the JComboBox),
o. store the instance in an ArrayList,
o. and put the output in a JTextArea
(similar to what's printed from the PayableInterfaceTest)
My guess is that you will have another assignment to follow, where you will
be able to retrieve the data from the already created employees...
BTW, have you tested the classes you already have against the
PayableInterfaceTest? It won't work unless you add the operation
getPaymentAmount in the class Emplyoee...
And how does the interface MyPanel come into the assignment? What does that
look like? Why must Employee implement that?
// Bjorn A
| |
|
|
"IanH" <hill_ian_j@yahoo.co.uk> wrote in message
news:1143703935.912977.157510@z34g2000cwc.googlegroups.com...
>I do have some questions
>
> 1. Do I need to use the following code to declare instances of the
> objects?
>
> SalariedEmployee salariedEmployee = new SalariedEmployee
>
> HourlyEmployee hourlyEmployee = new HourlyEmployee
>
> CommissionEmployee commissionEmployee = new CommissionEmployee
>
> BasePlusCommissionEmployee basePlusCommissionEmployee = new
> BasePlusCommissionEmployee
>
You will need to put a pair of brackets after the second occurrence of the
Class name on each line, e.g.
SalariedEmployee salariedEmployee = new SalariedEmployee();
Those brackets are important; you will get compile errors if you omit them.
Also, if the constructors for those classes expect input parameters, you
will need to supply those values within the brackets, e.g.
SalariedEmployee salariedEmployee = new SalariedEmployee("Tony",
"Blair", "123-45-6789", 800.00);
The PayableInterfaceTest class does exactly the same thing to create
employees as you can see.
> 2. the combobox on the interface currently doesn't have any action
> attached to it. Can i use it to specify the type of employee to create.
>
By 'it' in your second sentence, I assume you mean the comboBox: if that is
the case, the answer is yes. That appears to be exactly what they want you
to do. You'll need to put the different types of employees in the comboBox
before you display the comboBox to the user. Then, the user will choose one
of the types when the GUI is presented.
You will need to wait for the user to choose one of the employee types from
the comboBox, then detect the fact that a selection has been made.
Your code will then need to display the input form that is appropriate for
that type of employee. For example, if the user specifies a
salariedEmployee, you will need to display a form that prompts for the
employee's first name, last name, social security number, and w ly salary.
The form will vary for each type of employee. In each case, you'll need to
detect that the form has been filled out. You may want to have the user
click a button to indicate that they've finished completing the form; that
would be the most common approach to this situation and is easier to code
than any other approach that comes to mind.
When you know the form has been completed, you need to compute the pay for
that employee and display the amount of that employee's pay in the text area
that the assignment suggested.
--
It's unfortunate but perhaps inevitable that several aspects of this
assignment are not very realistic. In the real world, employees would get
entered into the payroll system when they got hired. Information like their
name and social security number and annual salary or hourly salary or
commission rate would get recorded _once_ and stay in effect until the
information changed for some reason. The data would most likely be recorded
in a database.
The actual w ly payroll run would not need to capture any of that
information anew. The only new data that the payroll run would need would be
the number of hours worked that w for hourly employees and the sales for
the commissioned employees. Then the payroll program could calculate the
amount to pay each employee and print the cheques.
Clearly, your assignment envisions combining all of this work into a w ly
run which would be very tedious for the payroll department if it were
actually done that way. But your instructor probably only has limited time
to spend on a given area of programming so you are combining things somewhat
unrealistically so that you can cover more ground in the time available.
That's understandable but it would be wise for you to remember that the real
world won't work exactly the way the assignments do. That should be a
comfort in case you're thinking ahead to the real world and wondering why
anyone would do a payroll this way when much more efficient approaches would
make more sense ;-)
--
Rhino
| |
|
|
|
|
"Oliver Wong" <owong@castortech.com> wrote in message
news:AxSWf.21268$%H.11987@clgrps13...
> "Rhino" <no.offline.contact.please@nospam.com> wrote in message
> news:n9SWf.2319$u15.404207@news20.bellglobal.com...
>
> Back in the old days (or so I've heard; I wasn't alive at the time), we
> didn't have databases, and harddrives were extremely rare. Every w , a
> set of punch cards would be fed into the machine, along with the data, and
> the program would calculate everyone's pay from that data. The data had to
> be fed in every time the program was to run.
>
Yeah, I know that things were done that way once upon a time. Ian's
instructor may be trying to model this archaic way of doing things just for
the sake of a good challenge to his class. But I think you'll agree that it
isn't the way things would be done today, except possibly in the third world
where technology is rather scarcer than it is here.
--
Rhino
| |
|
|
"IanH" <hill_ian_j@yahoo.co.uk> wrote in message
news:1143703935.912977.157510@z34g2000cwc.googlegroups.com...
>I do have some questions
>
> 1. Do I need to use the following code to declare instances of the
> objects?
>
> SalariedEmployee salariedEmployee = new SalariedEmployee
>
> HourlyEmployee hourlyEmployee = new HourlyEmployee
>
> CommissionEmployee commissionEmployee = new CommissionEmployee
>
> BasePlusCommissionEmployee basePlusCommissionEmployee = new
> BasePlusCommissionEmployee
>
> 2. the combobox on the interface currently doesn't have any action
> attached to it. Can i use it to specify the type of employee to create.
>
Ian,
I haven't seen a new post from you on this thread in a while. Have you
finished the assignment or are you so that you don't know what to
do?
If the former, great! If the latter, please try to articulate the nature of
the problem as best you can and we will try to help you get moving again.
There's nothing too tricky in the final code. We can probably explain the
concepts and give some bits of the code if you need something to get you
properly started.
--
Rhino
|
|
|
|
|