Java Code
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GradeCalculator extends JApplet implements ActionListener
{
JLabel l_hw = new JLabel( "HW", JLabel.RIGHT ),
l_mt = new JLabel( "MT", JLabel.RIGHT ),
l_final = new JLabel( "Final", JLabel.RIGHT ),
l_grade = new JLabel( "Grade: ", JLabel.RIGHT );
JTextField tf_hw = new JTextField(),
tf_mt = new JTextField( ),
tf_final = new JTextField( ),
tf_grade = new JTextField( );
JButton button = new JButton( "Calculate" );
JComboBox c_hw = new JComboBox( ),
c_mt = new JComboBox( ),
c_final = new JComboBox( );
JLabel title = new JLabel( "Calculates Grade", JLabel.CENTER );
public void init( )
{
setLayout( new BorderLayout( ) );
doTitle( );
doMainPanel( );
}
public void doTitle( )
{
Font f = new Font( "Serif", Font.BOLD+Font.ITALIC, 24 );
title.setFont( f );
add( title, BorderLayout.NORTH );
}
public void setupDropdown( JComboBox c )
{
for( int i=0; i<=100; i+=5 )
c.addItem( ""+i );
}
public void doMainPanel( )
{
setupDropdown( c_hw );
setupDropdown( c_mt );
setupDropdown( c_final );
JPanel p = new JPanel( );
p.setLayout( new GridLayout( 4,3 ) );
p.add( l_hw ); p.add( tf_hw ); p.add( c_hw );
p.add( l_mt ); p.add( tf_mt ); p.add( c_mt );
p.add( l_final ); p.add( tf_final ); p.add( c_final );
p.add( button );
p.add( l_grade ); p.add( tf_grade );
add(p, BorderLayout.CENTER );
button.addActionListener( this );
}
public void actionPerformed( ActionEvent event )
{
Object obj = event.getSource( );
if( obj == button ) {
double finalgrade = calculate( );
tf_grade.setText(""+finalgrade);
}
}
public double calculate( )
{
double hwd = dostuff( tf_hw.getText( ), c_hw.getSelectedItem( ) );
double mtd = dostuff( tf_mt.getText( ), c_mt.getSelectedItem( ) );
double finald = dostuff( tf_final.getText( ), c_final.getSelectedItem( ) );
return hwd +mtd+finald;
}
public double dostuff( String grade, Object pct )
{
String pctStr = (String )pct;
if ( grade.length( ) == 0 )
return 0;
double graded = Double.parseDouble(grade);
double pctd = Double.parseDouble(pctStr);
return graded * pctd / 100;
}
}
Back to Code Examples
©2006-
by E.S.Boese. All Rights Reserved