0% found this document useful (0 votes)
112 views

Attendence Calculator Java Program

This document contains code for a Java application that calculates class attendance percentages. It defines multiple classes that create GUI frames to get user input for start/end dates and subjects, display a timetable, and output the attendance percentage. Frame1 displays labels and buttons to launch subsequent frames. Frame2 uses combo boxes to get date input. Frame3 displays a scrollable timetable and gets subject attendance using combo boxes. Frame4 calculates and displays the percentage. The classes work together to provide a full attendance calculation application through the GUI frames.

Uploaded by

kuxegire
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
112 views

Attendence Calculator Java Program

This document contains code for a Java application that calculates class attendance percentages. It defines multiple classes that create GUI frames to get user input for start/end dates and subjects, display a timetable, and output the attendance percentage. Frame1 displays labels and buttons to launch subsequent frames. Frame2 uses combo boxes to get date input. Frame3 displays a scrollable timetable and gets subject attendance using combo boxes. Frame4 calculates and displays the percentage. The classes work together to provide a full attendance calculation application through the GUI frames.

Uploaded by

kuxegire
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

import javax.swing.

JFrame;
public class mainn {

public static void main(String[] args) {


// TODO Auto-generated method stub
frame1 ob1=new frame1();
ob1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ob1.setSize(300,300);
ob1.setVisible(true);
}
}

import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class frame1 extends JFrame{


private JLabel item1;
private JButton Calculate;
private JButton Exit;
public frame1() {
// TODO Auto-generated constructor stub
super("Attendence Calculator");
setLayout(new FlowLayout());
item1=new JLabel("Welcome To Attendence Calculator");
add(item1);
Calculate=new JButton("Calclulate");
add(Calculate);
Exit=new JButton("Exit");
add(Exit);

thehandler handler=new thehandler();


Calculate.addActionListener(handler);
Exit.addActionListener(handler);
}
private class thehandler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if(event.getSource()==Calculate)
{
frame2 ob2=new frame2();
ob2.setSize(300,300);
ob2.setVisible(true);

}
else if(event.getSource()==Exit)
{
System.exit(0);

}
}

import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import java.awt.event.*;

public class frame2 extends JFrame {


public int sdd,smm,yearr,edd,emm; //holds date value mm//dd//yyyy
private JComboBox sd;
private JComboBox sm;
private JComboBox year;
private JComboBox ed;
private JComboBox em;

private JButton Next=new JButton("Next");


private JButton Back=new JButton("Back");
private JButton Exit=new JButton("Exit");

private JLabel l1=new JLabel("Enter The Time Period For Which You Wish To Calculate");
private JLabel l2=new JLabel("Enter Starting Date in dd/mm/yyyy format");
private JLabel l3=new JLabel("Enter Ending Date in dd/mm/yyyy format");

private static String[] dd= {"1","2","3","4","5","6","7","8","9","10",


"11","12","13","14","15","16","17","18","19","20",
"21","22","23","24","25","26","27","28","29","30","31"};

private static String[] mm= {"1","2","3","4","5","6","7","8","9","10",


"11","12"};
private static String[] yyyy= {"2018"};

public frame2() {
// TODO Auto-generated constructor stub
super("Attendence Calculator");
setLayout(new FlowLayout());
add(l1);
add(l2);
sd=new JComboBox(dd);
add(sd);
sm=new JComboBox(mm);
add(sm);
year=new JComboBox(yyyy);
add(year);
add(l3);
ed=new JComboBox(dd);
add(ed);
em=new JComboBox(mm);
add(em);
year=new JComboBox(yyyy);
add(year);

thehandler handler =new thehandler();//for combo box


bhandler h1=new bhandler();//for buttons

sd.addItemListener(handler);
sm.addItemListener(handler);
ed.addItemListener(handler);
ed.addItemListener(handler);

add(Next);
add(Back);
add(Exit);
Next.addActionListener(h1);
Back.addActionListener(h1);
Exit.addActionListener(h1);

}
public class thehandler implements ItemListener{
public void itemStateChanged(ItemEvent event) {
if(event.getStateChange()==ItemEvent.SELECTED)
{
sdd=(int)sd.getSelectedItem();
smm=(int)sm.getSelectedItem();
yearr=(int)year.getSelectedItem();
edd=(int)ed.getSelectedItem();
emm=(int)em.getSelectedItem();
}
}
}

public class bhandler implements ActionListener{


public void actionPerformed(ActionEvent event) {
if(event.getSource()==Next)
{
frame3 ob=new frame3();
ob.setSize(500,500);
ob.setVisible(true);
}
else if(event.getSource()==Back)
{
frame1 ob21=new frame1();
ob21.setSize(300,300);
ob21.setVisible(true);
}
else if(event.getSource()==Exit)
System.exit(0);

}
}
}

import javax.swing.*;
import java.awt.*;

public class frame4 extends JOptionPane


{
public void showpercentage(int tc,int ta) {
double percentage=(ta/tc)*100;
JOptionPane.showMessageDialog(null, "The
Attendence="+percentage, "Percentage Attendence",JOptionPane.PLAIN_MESSAGE);

public class bhandler implements ActionListener{


public void actionPerformed(ActionEvent event) {
if(event.getSource()==Back)
{
frame1 ob21=new frame1();
ob21.setSize(300,300);
ob21.setVisible(true);
}
else if(event.getSource()==Exit)
System.exit(0);
}
}

add(l1);
add(l2);
sdT=new JTextField(2);
add(sdT);
smT=new JTextField(2);
add(smT);
add(yearT);
edT=new JTextField(2);
add(l3);
add(edT);
emT=new JTextField(2);
add(emT);
yearT=new JTextField(4);

add(Back);
add(Exit);

bhandler h2=new bhandler();


Back.addActionListener(h2);
Exit.addActionListener(h2);
String columnnames[]=
{"TIME","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"};
Object periods[][]= {

{"TIME","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"},
{"8:45-9:45","DLDA","DS","DM","ECCF","DS"},
{"9:45-10:45","AM3","AM#","AM3","DLDA","ECCF"},
{"11:00-12:00","DS","DM","DLDA","AM3","DM"},
{"12:00-1:00","AM3 TUT","ECCF","DS","DM","DLDA"},
{"1:30-
2:30","OOPM","Practicals","Practicals","Practicals","Practicals"},
{"2:30-
3:30","OOPM","Practicals","Practicals","Practicals","Practicals"},
{"3:30-4:30","ECCF"," "," "," "," "}
};
timetable=new JTable(periods,columnnames);
timetable.setPreferredScrollableViewportSize(new Dimension(500,70));
timetable.setFillsViewportHeight(true);
JScrollPane scroll=new JScrollPane(timetable);
add(timetable);
timetable.setVisible(true);

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class frame3 extends JFrame {

JTable timetable;
public int dmmm,dsss,oopmms,am333,eccfff,dldaaa;//holds values selcted from
jcombobox
public int sdd,smm,yearr,edd,emm,dow,totalc,totala;

private JButton Next=new JButton("Next");


private JButton Back=new JButton("Back");
private JButton Exit=new JButton("Exit");

private JComboBox dmm;


private JComboBox oopmm;
private JComboBox dss;
private JComboBox am33;
private JComboBox eccff;
private JComboBox dldaa;
private static String[] nolm= {"1","2","3","4","5","6","7","8","9","10",
"11","12","13","14","15","16","17","18","19","20",
"21","22","23","24","25","26","27","28","29","30"};

public frame3() {
// TODO Auto-generated constructor stub
super("Attendence Calculator");
setLayout(new FlowLayout());

String columnnames[]=
{"TIME","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"};
Object periods[][]= {

{"TIME","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"},
{"8:45-9:45","DLDA","DS","DM","ECCF","DS"},
{"9:45-10:45","AM3","AM#","AM3","DLDA","ECCF"},
{"11:00-12:00","DS","DM","DLDA","AM3","DM"},
{"12:00-1:00","AM3 TUT","ECCF","DS","DM","DLDA"},
{"1:30-
2:30","OOPM","Practicals","Practicals","Practicals","Practicals"},
{"2:30-
3:30","OOPM","Practicals","Practicals","Practicals","Practicals"},
{"3:30-4:30","ECCF"," "," "," "," "}};
timetable=new JTable(periods,columnnames);
timetable.setPreferredScrollableViewportSize(new Dimension(500,70));
timetable.setFillsViewportHeight(true);
JScrollPane scroll=new JScrollPane(timetable);
add(timetable);
timetable.setVisible(true);

JLabel lm1=new JLabel("Enter Number of DS lectures missed");


add(lm1);
dss=new JComboBox(nolm);
add(dss);
JLabel lm2=new JLabel("Enter Number of DM lectures missed");
add(lm2);
dmm=new JComboBox(nolm);
add(dmm);
JLabel lm3=new JLabel("Enter Number of OOPM lectures missed");
add(lm3);
oopmm=new JComboBox(nolm);
add(oopmm);
JLabel lm4=new JLabel("Enter Number of AM3 lectures missed");
add(lm4);
am33=new JComboBox(nolm);
add(am33);
JLabel lm5=new JLabel("Enter Number of ECCF lectures missed");
add(lm5);
eccff=new JComboBox(nolm);
add(eccff);
JLabel lm6=new JLabel(" Enter Number of DLDA lectures missed ");
add(lm6);
dldaa=new JComboBox(nolm);
add(dldaa);

thehandler handler =new thehandler();


dmm.addItemListener(handler);
dss.addItemListener(handler);
oopmm.addItemListener(handler);
eccff.addItemListener(handler);
dldaa.addItemListener(handler);

add(Next);
add(Back);
add(Exit);

bhandler h2=new bhandler();


Next.addActionListener(h2);
Back.addActionListener(h2);
Exit.addActionListener(h2);
}
int ds=0,oopm=0,dm=0,am3=0,eccf=0,dlda=0,total;
int getdayoftheweek(int d, int m, int y,int ed,int em) {

int t[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };
for(int i=d;i<=31 && m<=em;i++)
{
if(i>=31)
{
i=1;
m++;
}
y -= (m < 3) ? 1 : 0;
int day= ( y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
switch(day) {
case 1:
ds++;
oopm++;
oopm++;
am3++;
am3++;
eccf++;
dlda++;
break;
case 2:
ds++;
am3++;
dm++;
eccf++;
break;
case 3:
dm++;
am3++;
dlda++;
ds++;
break;
case 4:
eccf++;
dlda++;
am3++;
dm++;
break;
case 5:
ds++;
eccf++;
dm++;
dlda++;
break;
case 6:
break;
case 7:
break;
}
}
total=ds+dm+am3+oopm+eccf+dlda;
return total;
}
public class thehandler implements ItemListener{

public void itemStateChanged(ItemEvent event) {


if(event.getStateChange()==ItemEvent.SELECTED)
{
dmmm=(int)dmm.getSelectedItem();
dsss=(int)dss.getSelectedItem();
oopmms=(int)oopmm.getSelectedItem();
am333=(int)am33.getSelectedItem();
eccfff=(int)eccff.getSelectedItem();
dldaaa=(int)dldaa.getSelectedItem();
totala=dmmm+dsss+oopmms+am333+eccfff+dldaaa;
}
}

public class bhandler implements ActionListener{

public void actionPerformed(ActionEvent event) {


if(event.getSource()==Next) {
frame4 ob34=new frame4();
ob34.showpercentage(totalc,totala);
ob34.setSize(300,300);
ob34.setVisible(true);
}

else if(event.getSource()==Back)
{
frame2 ob32=new frame2();
ob32.setSize(300,300);
ob32.setVisible(true);
}
else if(event.getSource()==Exit)
System.exit(0);

}
}
}

if(event.getSource()==sd)
startdate=(int)sd.getSelectedItem();
if(event.getSource()==sm)
startmonth=(int)sm.getSelectedItem();
if(event.getSource()==ed)
enddate=(int)ed.getSelectedItem();
if(event.getSource()==em)
endmonth=(int)em.getSelectedItem();
if(event.getSource()==year)
cyear=(int)year.getSelectedItem();

startdate,startmonth,enddate,endmonth,cyear
startdate=sd;
startmonth=sm;
enddate=ed;
endmonth=em;
cyear=year;

ihandler handler1 =new ihandler();//for combo box


dss.addItemListener(handler1);
dmm.addItemListener(handler1);
oopmm.addItemListener(handler1);
am33.addItemListener(handler1);
eccff.addItemListener(handler1);
dldaa.addItemListener(handler1);

public class ihandler implements ItemListener{

public void itemStateChanged(ItemEvent event) {


if(event.getSource()==dss)
dsss=(int)dss.getSelectedItem();
if(event.getSource()==dmm)
dmmm=(int)dmm.getSelectedItem();
if(event.getSource()==am33)
am333=(int)am33.getSelectedItem();
if(event.getSource()==oopmm)
oopmms=(int)oopmm.getSelectedItem();
if(event.getSource()==eccff)
eccfff=(int)eccff.getSelectedItem();
if(event.getSource()==dldaa)
dldaaa=(int)dldaa.getSelectedItem();
totala=dsss+dmmm+oopmms+eccfff+dldaaa;

}
gdotw gt=new gdotw();
totalc=gt.getdayoftheweek(startdate, startmonth, enddate, endmonth,
cyear);
public class ihandler implements ItemListener{

public void itemStateChanged(ItemEvent event) {


startdate=(int)sd.getSelectedItem();
startmonth=(int)sm.getSelectedItem();
enddate=(int)ed.getSelectedItem();
endmonth=(int)em.getSelectedItem();
cyear=(int)year.getSelectedItem();
}

sd.addItemListener(handler);
sm.addItemListener(handler);
ed.addItemListener(handler);
ed.addItemListener(handler);
year.addItemListener(handler);

startdate=sd;
startmonth=sm;
enddate=ed;
endmonth=em;
cyear=year;
startdate,startmonth,enddate,endmonth,cyear

frame3 ob=new frame3(startdate,startmonth,enddate,endmonth,cyear);


ob.setSize(500,500);
ob.setVisible(true);

int getdayoftheweek(int d, int m, int y,int ed,int em) {

int t[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };
for(int i=d;i<=31 && m<=em;i++)
{
if(i>=31)
{
i=1;
m++;
}
y -= (m < 3) ? 1 : 0;
int day= ( y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
switch(day) {
case 1:
ds++;
oopm++;
oopm++;
am3++;
am3++;
eccf++;
dlda++;
break;
case 2:
ds++;
am3++;
dm++;
eccf++;
break;
case 3:
dm++;
am3++;
dlda++;
ds++;
break;
case 4:
eccf++;
dlda++;
am3++;
dm++;
break;
case 5:
ds++;
eccf++;
dm++;
dlda++;
break;
case 6:
break;
case 7:
break;
}
}
total=ds+dm+am3+oopm+eccf+dlda;
return total;
}

int t[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };
for(int i=d;i<=31 && m<=em;i++)
{
if(i>=31)
{
i=1;
m++;
}
y -= (m < 3) ? 1 : 0;
int day= ( y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
switch(day) {
case 1:
ds++;
oopm++;
oopm++;
am3++;
am3++;
eccf++;
dlda++;
break;
case 2:
ds++;
am3++;
dm++;
eccf++;
break;
case 3:
dm++;
am3++;
dlda++;
ds++;
break;
case 4:
eccf++;
dlda++;
am3++;
dm++;
break;
case 5:
ds++;
eccf++;
dm++;
dlda++;
break;
case 6:
break;
case 7:
break;
}
}
total=ds+dm+am3+oopm+eccf+dlda;
totala=totalc-(dsss+dmmm+am333+oopmms+eccfff+dldaaa);
frame4 ob34=new frame4(totalc,totala);
ob34.setSize(300,300);
ob34.setVisible(true);

frame4 ob34=new frame4(totalc,totala);


ob34.setSize(300,300);
ob3.setVisible(true);

JOptionPane.showMessageDialog(null,"Total conducted="+totalc+" Total


Attended="+totala+" Percentage="+((totala/totalc)*100), "Percentage
Attendence",JOptionPane.PLAIN_MESSAGE);

You might also like