Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Hello, I am trying to creat a java swing application that allows the user to cal

ID: 3559093 • Letter: H

Question

Hello, I am trying to creat a java swing application that allows the user to calculate their age in days. Obviously, there aren't 31 days in all months. How can I get this so the month selected changes with the days? Thanks.

Here is the snippet of code where the actionListener occurs and the calculation are performed.

    JButton buttonCalculate = new JButton("Calculate");
       buttonCalculate.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
              
               Calendar localCalendar = Calendar.getInstance(TimeZone.getDefault());
               
               int yearToday = localCalendar.get(Calendar.YEAR);
               int monthToday = localCalendar.get(Calendar.MONTH) + 1;
                int dayToday = localCalendar.get(Calendar.DATE);
              
               /////////////////////////
              
               String StringbirthYear = yearComboBox.getSelectedItem().toString();
               int birthYear = Integer.valueOf(StringbirthYear);
               int currentBirthYear = yearToday - birthYear;
               int currentBirthYearDays = currentBirthYear * 365;
              /////////////////////////
              
              
               String StringBirthMonth = monthComboBox.getSelectedItem().toString();
               int birthMonth = Integer.valueOf(StringBirthMonth);
               int currentBirthMonths = monthToday - birthMonth;
               int currentBirthMonthDays = currentBirthMonths * 31;
  
              /////////////////////////

              
               String StringBirthDay = dayComboBox.getSelectedItem().toString();
               int birthDay = Integer.valueOf(StringBirthDay);
               int currentBirthDay = dayToday - birthDay;
              
              /////////////////////////

              
               int AgeInDays = currentBirthYearDays + currentBirthMonthDays + currentBirthDay;
               String StringAgeinDays = Integer.toString(AgeInDays);
              
              
              
              
  
               textFieldOutput.setText(StringAgeinDays);
  
           }
       }

Explanation / Answer

JButton buttonCalculate = new JButton("Calculate");
       buttonCalculate.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {


           /////////////////////////
              
               String StringbirthYear = yearComboBox.getSelectedItem().toString();
               int birthYear = Integer.valueOf(StringbirthYear);
           
              /////////////////////////
                           
               String StringBirthMonth = monthComboBox.getSelectedItem().toString();
               int birthMonth = Integer.valueOf(StringBirthMonth);
          


              /////////////////////////               
               String StringBirthDay = dayComboBox.getSelectedItem().toString();
               int birthDay = Integer.valueOf(StringBirthDay);
       
           Calendar cal = Calendar.getInstance();
            Date today = cal.getTime();
            cal.set(birthYear, getBirthMonth(birthMonth ), birthDay );
           Date birthday = cal.getTime();

           long dateSubtract = today.getTime() - birthday.getTime();
           long time = 1000 * 60 * 60 * 24;
          textFieldOutput.setText(" " + dateSubtract / time + "");
  
           }
       }

int getBirthMonth(int value){

switch (value){

case 1:

return Calender.JANUARY;

break;

case 2:

return Calender.FEBURARY;

break;

case 3:

return Calender.MARCH;

break;

case 4:

return Calender.APRIL;

break;

case 5:

return Calender.MAY;

break;

case 6:

return Calender.JUNE;

break;

case 7:

return Calender.JULY;

break;

case 8:

return Calender.AUGUST;

break;

case 9:

return Calender.SEPTEMBER;

break;

case 10:

return Calender.OCTOBER;

break;

case 11:

return Calender.NOVEMBER;

break;

case 12:

return Calender.DECEMBER;

break;

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote