import java.awt.event.ActionListener;
import javax.swing.JFrame;

//This Java Program determines the weighted average
//of four test scores.

//import statements for the needed packages

public class Assign1 extends JFrame
{

    //declare JLabel variables as reference to label components
    //declare JTextField variables as reference to input/output text boxes
    //declare JButton variables as reference to command buttons
    //declare button handlers to handle click events of command buttons
    //declare constants to hold the size of your windows

    public Assign1()
    {
            // Create eight labels

            //Create four textfields

            //create Calculate Button

            //Create Exit Button

            //Set the title of the window

            //Get the container

            //Set the layout
            //Place the components in the pane

            //set the size of the window and display it
    }

    // class which defines the action when the Calculate button is pressed
    private class CalculateButtonHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            //place your code here
        }
    }

    // class which defines the action when the Exit button is pressed
    private class ExitButtonHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            //place your code here
        }
    }

    // main method which constructs this particular class
    public static void main(String[] args)
    {
            //place your code here
    }
}

Recommended Answers

All 6 Replies

Code tags:

[code=JAVA] // paste code here

[/code]

Code looks terrible without them.

This looks like a cut and paste of the assignment specification that someone gave you. What seems to be the problem?

i dont know what to use. I need to be able to create a table. where i can input my scores and the weight or percentage of one quiz. Then the out put should be the final grade or the average score

The code gives you a guide. Start filling it in. Call the constructor from main. Do lines 12 - 35 and set up the GUI and display it. That gives you a start and requires no Action Listeners and no calculations and no need for any input. Ignore line 15 for now. You need to do them anyway, so might as well start there. It's just building the GUI.

import java.awt.event.ActionListener;
import javax.swing.JFrame;

//This Java Program determines the weighted average
//of four test scores.

//import statements for the needed packages

public class Assign1 extends JFrame
{

//declare JLabel variables as reference to label components
//declare JTextField variables as reference to input/output text boxes
//declare JButton variables as reference to command buttons
//declare button handlers to handle click events of command buttons
//declare constants to hold the size of your windows

public Assign1()
{
// Create eight labels

//Create four textfields

//create Calculate Button

//Create Exit Button

//Set the title of the window

//Get the container

//Set the layout
//Place the components in the pane

//set the size of the window and display it
}

// class which defines the action when the Calculate button is pressed
private class CalculateButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//place your code here
}
}

// class which defines the action when the Exit button is pressed
private class ExitButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//place your code here
}
}

// main method which constructs this particular class
public static void main(String[] args)
{
//place your code here
}
}
Member Avatar for love1969

Does anyone have any ideas how to limit or require the sum of the weights to equal 1.00? My program compiles, runs, and functions, but I can't figure out how to regulate the weight column so that it must add up to 1.00.
This is what I have
`

/*
    Page 381 
    Desing a GUI program to find the weighted average of four test scores.
    The four test scores and their perspective weights are given in the 
    following format:
    testscore1 weight1
*/

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

public class pg381 extends JFrame

{
    private JLabel labelTest1, labelTest2, labelTest3, labelTest4, labelWeight1, labelWeight2, labelWeight3, labelWeight4, labelAverage;
    private JTextField textTest1, textTest2, textTest3, textTest4, textWeight1, textWeight2, textWeight3, textWeight4, textAverage;
    private JButton buttonCalculate, buttonExit;
    private CalculateHandler cHandler;
    private ExitHandler eHandler;
    private static final int WIDTH = 400;
    private static final int HEIGHT = 300;

    public pg381()
    {
       //create the labels
      labelTest1 = new JLabel("Enter test score1: ", SwingConstants.RIGHT);
       labelTest2 = new JLabel("Enter test score2: ", SwingConstants.RIGHT);
       labelTest3 = new JLabel("Enter test score3: ", SwingConstants.RIGHT);
       labelTest4 = new JLabel("Enter test score4: ", SwingConstants.RIGHT);

      labelWeight1 = new JLabel("Enter the weight of test score1: ", SwingConstants.RIGHT);
      labelWeight2 = new JLabel("Enter the weight of test score1: ", SwingConstants.RIGHT);
      labelWeight3 = new JLabel("Enter the weight of test score1: ", SwingConstants.RIGHT);
      labelWeight4 = new JLabel("Enter the weight of test score1: ", SwingConstants.RIGHT);
      labelAverage = new JLabel("The weighted average is: ", SwingConstants.RIGHT);



       //create the text fields
       textTest1 = new JTextField(10);
      textWeight1 = new JTextField(10);
       textTest2 = new JTextField(10);
      textWeight2 = new JTextField(10);
       textTest3 = new JTextField(10);
      textWeight3 = new JTextField(10);
       textTest4 = new JTextField(10);
       textWeight4 = new JTextField(10);
       textAverage = new JTextField(10);

       // create the calculate button
       buttonCalculate = new JButton("Calculate");
       cHandler = new CalculateHandler();
       buttonCalculate.addActionListener(cHandler);


       // create the exit button
       buttonExit = new JButton("Exit");
       eHandler = new ExitHandler();
       buttonExit.addActionListener(eHandler);


       //set the form title
       setTitle("The weighted average is: ");


        // set the container (form) layout
        Container pane = getContentPane();
        pane.setLayout(new GridLayout(10,5));

       //place components in the pane
       pane.add(labelTest1);
      pane.add(textTest1);
      pane.add(labelWeight1);
      pane.add(textWeight1);


      pane.add(labelTest2);
      pane.add(textTest2);
      pane.add(labelWeight2);
      pane.add(textWeight2);

      pane.add(labelTest3);
      pane.add(textTest3);
      pane.add(labelWeight3);
      pane.add(textWeight3);


      pane.add(labelTest4);
      pane.add(textTest4);
      pane.add(labelWeight4);
      pane.add(textWeight4);

      pane.add(labelAverage);
       pane.add(textAverage);
       pane.add(buttonCalculate);
       pane.add(buttonExit);    

      // set dimensions and display the form
      setSize(WIDTH, HEIGHT);
      setVisible(true);
       setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
   // define the button handler logic
    private class CalculateHandler implements ActionListener
   {
       public void actionPerformed(ActionEvent e)
        {
         // declare the variables needed for the calculation
           double test1, test2, test3, test4, weight1, weight2, weight3, weight4, average1, average2, average3, average4, Totalaverage;

           // convert the users input to doubles
           test1 = Double.parseDouble(textTest1.getText());
         test2 = Double.parseDouble(textTest2.getText());
         test3 = Double.parseDouble(textTest3.getText());
         test4 = Double.parseDouble(textTest4.getText());
         weight1 = Double.parseDouble(textWeight1.getText());
         weight2 = Double.parseDouble(textWeight2.getText());     
         weight3 = Double.parseDouble(textWeight3.getText());        
         weight4 = Double.parseDouble(textWeight4.getText());


         // calculations
         average1 = test1 * weight1;
         average2 = test2 * weight2;
         average3 = test3 * weight3;
         average4 = test4 * weight4;
         Totalaverage = average1 + average2 + average3 + average4;

         //
         if (test1>100) 

         else popup("Score must be between 0-100");
         {
         if (test1<0) 
         else popup
         }
         if sum of weight1 + weight2 + weight3 + weight4 not equal 1.00 then popup

         //// put the results into the on screen boxes
         textAverage.setText("" + Totalaverage);

        }
    }


    // exit handler
    private class ExitHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {

            // all done, exit will force the screen to close
            System.exit(0);
        }
    }


    // main program to display the form we built
    public static void main(String[] args)
    {
        // creating a new instance invokes the construcor that displays the screen
        pg381 screen = new pg381(); 

    }
}   

`

This is a three year old thread.
DaniWeb Member Rules include:
"Do not hijack old threads by posting a new question as a reply to an old one"
http://www.daniweb.com/community/rules
Please start your own new thread for your question

Member Avatar for love1969

Sorry I am new to this site. I am still learning how all of this works, thanks for the info though. I will do that next time.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.