12. 09. 19 실습( 월급 계산기 )
기본급과 시금을 입력하고 40시간 초과분에 대해서는 50% 추가금 계산
import java.awt.FlowLayout;
import java.awt.event.*;
import java.text.*;
import javax.swing.*;
class MyFrame extends JFrame
{
JButton Calculate;
JTextField HourlyWage_F = new JTextField();
JTextField HoursWorked_F = new JTextField();
JTextField GrossWages_F = new JTextField();
DecimalFormat dollars = new DecimalFormat( "$0.00" );
public MyFrame()
{
setSize(250, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Wage Calcuator");
this.setLayout(null);
JLabel HourlyWage_L = new JLabel("Hourly Wage");
JLabel HoursWorked_L = new JLabel("Hours Worked");
JLabel GrossWages_L = new JLabel("Gross Wages");
Calculate = new JButton("Calculate");
HourlyWage_L.setBounds(16, 16, 90, 21);
HourlyWage_F.setBounds(120, 16, 90, 21);
HourlyWage_F.setHorizontalAlignment( JTextField.RIGHT );
HoursWorked_L.setBounds(16, 56, 90, 21);
HoursWorked_F.setBounds(120, 56, 90, 21);
HoursWorked_F.setHorizontalAlignment( JTextField.RIGHT );
GrossWages_L.setBounds(16, 96, 90, 21);
GrossWages_F.setBounds(120, 96, 90, 21);
GrossWages_F.setHorizontalAlignment( JTextField.RIGHT );
GrossWages_F.setEditable(false);
Calculate.setBounds(120, 136, 90, 24);
Calculate.addActionListener(new MyListener());
this.add(HourlyWage_L);
this.add(HourlyWage_F);
this.add(HoursWorked_L);
this.add(HoursWorked_F);
this.add(GrossWages_L);
this.add(GrossWages_F);
this.add(Calculate);
setVisible(true);
}
private class MyListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == Calculate)
{
int Time = Integer.parseInt(HoursWorked_F.getText()), Pay = Integer.parseInt(HourlyWage_F.getText());
int total=0;
if(Time > 40)
{ total += (Time-40) * (Pay*1.5); total += Pay*40; }
else if(Time >0 || Time < 40)
total += Pay*Time;
GrossWages_F.setText( dollars.format( total ) );
}
}
}
}
public class class1
{
public static void main(String[] args)
{
MyFrame f = new MyFrame();
}
}