Here is a picture of the form operating
Here is the Program.java class
package com.spconger.www; public class Program { /** * @param args */ public static void main(String[] args) { MainJFrame m = new MainJFrame(); m.setTitle("tip Calculator"); m.setBounds(200,200,350, 350); m.setVisible(true); } }
Here is the MainJFrame.java class
package com.spconger.www; import javax.swing.*; public class MainJFrame extends JFrame{ /** * this method creates the JFrame * and adds the panel */ private static final long serialVersionUID = 1L; public MainJFrame(){ //JFrame frame = new JFrame(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel mainPanel= new MealTipPanel(); this.add(mainPanel); } }
Here is the MealTipPanel.Java class
package com.spconger.www; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class MealTipPanel extends JPanel{ /** * */ private static final long serialVersionUID = 1L; //declare all my objects JPanel panel; JPanel buttonPanel; JLabel lblAmount; JTextField txtAmount; JLabel lblChooseTipPercent; JRadioButton rbFifteenPercent; JRadioButton rbTenPercent; JRadioButton rbTwentyPercent; JLabel lblTaxPercent; JTextField txtTaxPercent; JLabel lblTipAmount; JLabel lblTaxAmount; JLabel lblTotalAmount; JButton btnCalculate; JButton btnExit; private Tip tip; public MealTipPanel(){ createPanel(); } private void createPanel(){ panel = new JPanel(); panel.setLayout(new GridLayout(10,2,5,5)); lblAmount = new JLabel("Enter the Pre Tax Amount"); txtAmount = new JTextField(10); lblChooseTipPercent = new JLabel("Choose the Tip Percent"); rbTenPercent = new JRadioButton("Ten Percent"); rbFifteenPercent = new JRadioButton("Fifteen Percent"); rbTwentyPercent = new JRadioButton("Twenty Percent"); ButtonGroup group = new ButtonGroup(); group.add(rbTenPercent); group.add(rbFifteenPercent); group.add(rbTwentyPercent); lblTaxPercent=new JLabel("Enter Tax Percent"); txtTaxPercent= new JTextField(10); lblTipAmount = new JLabel(); lblTaxAmount= new JLabel(); lblTotalAmount = new JLabel(); panel.add(lblAmount); panel.add(txtAmount); panel.add(lblChooseTipPercent); panel.add(rbTenPercent); panel.add(rbFifteenPercent); panel.add(rbTwentyPercent); panel.add(lblTaxPercent); panel.add(txtTaxPercent); panel.add(lblTipAmount); panel.add(lblTaxAmount); panel.add(lblTotalAmount); buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); btnCalculate = new JButton("Calculate"); btnCalculate.addActionListener(new CalculateListener()); buttonPanel.add(btnCalculate); btnExit = new JButton("Exit"); btnExit.addActionListener(new ExitListener()); buttonPanel.add(btnExit); this.setLayout(new BorderLayout()); this.add(panel, BorderLayout.CENTER); this.add(buttonPanel, BorderLayout.SOUTH); }//end create panel private class ExitListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.exit(0); } }//end of ExitListenerClass private class CalculateListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { tip = new Tip(); //set the field values tip.setMealAmount(Double.parseDouble(txtAmount.getText())); double percent=0; if (rbTenPercent.isSelected()){ percent=.1; } else if (rbFifteenPercent.isSelected()){ percent=.15; } else if (rbTwentyPercent.isSelected()) { percent=.2; } tip.setTipPercent(percent); tip.setTaxPercent(Double.parseDouble(txtTaxPercent.getText())); lblTipAmount.setText("The tip amount is " + Double.toString(tip.calculateTip())); lblTaxAmount.setText("The tax amount is " + Double.toString(tip.calculateTax())); lblTotalAmount.setText("The Total is " + Double.toString(tip.calculateTotal())); } } }//end class
Here is the Tip.java class
package com.spconger.www; public class Tip { private double mealAmount; private double tipPercent; private double taxPercent; public double getMealAmount() { return mealAmount; } public void setMealAmount(double mealAmount) { this.mealAmount = mealAmount; } public double getTipPercent() { return tipPercent; } public void setTipPercent(double tipPercent) { if (tipPercent >=1){ tipPercent=tipPercent/100; } this.tipPercent = tipPercent; } public double getTaxPercent() { return taxPercent; } public void setTaxPercent(double taxPercent) { if (taxPercent >= 1) { taxPercent=taxPercent /100; } this.taxPercent = taxPercent; } public double calculateTip(){ return getMealAmount() * getTipPercent(); } public double calculateTax(){ return getMealAmount() * getTaxPercent(); } public double calculateTotal(){ return getMealAmount() + calculateTip() + calculateTax(); } }
No comments:
Post a Comment