-
New to JLabel and JTextArea...
Hey guys,
I can't seem to make my file work. I'm trying to use JLabel and JTextArea to show a group of student's average with an equivalent letter grade. The user will be inputting the student name, id and 2 test scores. I'm getting "invalid method declaration", "illegal start of expression", etc. Please help me debug!
Thanks!
[CODE]
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import javax.swing.*;
import javax.swing.border.*;
public class StudentGrades2 extends JFrame
{
// JPanel for user inputs
private JPanel inputGradeJPanel;
// JLabel and JTextField for student name
private JLabel studentNameJLabel;
private JTextField studentNameJTextField;
// JLabel and JTextField for student ID
private JLabel studentIDJLabel;
private JTextField studentIDJTextField;
// JLabel and JTextField for test1 score
private JLabel test1JLabel;
private JTextField test2sJTextField;
// JLabel and JTextField for test2s score
private JLabel test2sJLabel;
private JTextField test2sJTextField;
// JButton to calculate student grade
private JButton submitGradesJButton;
// JLabel and JTextArea to display student grade
private JLabel displayJLabel;
private JTextArea displayJTextArea;
// JButton to show student letter grade
private JButton submitGradesJButton;
// JLabel and JTextArea to display student letter grade
private JLabel displayJLabel;
private JTextArea displayJTextArea;
// initialize number of students to zero
private int studentCount = 0;
// constants
private final int number_of_tests = 2;
private final int maximum_students = 10;
private final int test1_test = 0;
private final int test2_test = 1;
// one-dimensional array to store student names
private String studentNames[] = new String[ maximum_students ];
// two-dimensional array to store student grades
private int studentGrades[][] =
new int[ maximum_students ][ number_of_tests ];
// DecimalFormat for two digits of precision
private DecimalFormat twoDigits = new DecimalFormat( "0.00" );
// no-argument constructor
public StudentGrades();
{
createUserInterface();
}
// create and position GUI components; register event handlers
private void createUserInterface()
{
Container contentPane = getContentPane();
contentPane.setLayout( null );
// set up inputGradeJPanel
inputGradeJPanel = new JPanel();
inputGradeJPanel.setBounds( 16, 16, 208, 218 );
inputGradeJPanel.setBorder(
new TitledBorder( "Input Grade" ) );
inputGradeJPanel.setLayout( null );
contentPane.add( inputGradeJPanel );
// set up studentNameJLabel
studentNameJLabel = new JLabel();
studentNameJLabel.setBounds( 8, 32, 90, 23 );
studentNameJLabel.setText( "Student Name: " );
inputGradeJPanel.add( studentNameJLabel );
// set up studentNameJTextField
studentNameJTextField = new JTextField();
studentNameJTextField.setBounds( 104, 32, 88, 21 );
studentNameJTextField.setHorizontalAlignment(
JTextField.RIGHT );
inputGradeJPanel.add( studentNameJTextField );
// set up studentIDJLabel
studentNameJLabel = new JLabel();
studentNameJLabel.setBounds( 8, 32, 90, 23 );
studentNameJLabel.setText( "Student ID: " );
inputGradeJPanel.add( studentNameJLabel );
// set up studentIDJTextField
studentNameJTextField = new JTextField();
studentNameJTextField.setBounds( 104, 32, 88, 21 );
studentNameJTextField.setHorizontalAlignment(
JTextField.RIGHT );
inputGradeJPanel.add( studentIDJTextField );
// set up test1JLabel
test1JLabel = new JLabel();
test1JLabel.setBounds( 8, 74, 60, 23 );
test1JLabel.setText( "Midterm: " );
inputGradeJPanel.add( test1JLabel );
// set up test1JTextField
test1JTextField = new JTextField();
test1JTextField.setBounds( 136, 74, 56, 21 );
test1JTextField.setHorizontalAlignment( JTextField.RIGHT );
inputGradeJPanel.add( test1JTextField );
// set up test2JLabel
test2JLabel = new JLabel();
test2JLabel.setBounds( 8, 74, 60, 23 );
test2JLabel.setText( "Finals: " );
inputGradeJPanel.add( test2JLabel );
// set up test2JTextField
test2JTextField = new JTextField();
test2JTextField.setBounds( 136, 74, 56, 21 );
test2JTextField.setHorizontalAlignment( JTextField.RIGHT );
inputGradeJPanel.add( test2JTextField );
// set up submitGradesJButton
submitGradesJButton = new JButton();
submitGradesJButton.setBounds( 72, 182, 120, 24 );
submitGradesJButton.setText( "Submit Grades" );
inputGradeJPanel.add( submitGradesJButton );
submitGradesJButton.addActionListener(
new ActionListener() // anonymous inner class
{
// event handler called when submitGradesJButton
// is clicked
public void actionPerformed( ActionEvent event )
{
submitGradesJButtonActionPerformed( event );
}
} // end anonymous inner class
); // end call to addActionListener
// set up displayJLabel
displayJLabel = new JLabel();
displayJLabel.setBounds( 240, 16, 150, 23 );
displayJLabel.setText( "Grade:" );
contentPane.add( displayJLabel );
// set up displayJTextArea
displayJTextArea = new JTextArea();
displayJTextArea.setBounds( 240, 48, 402, 184 );
displayJTextArea.setEditable( false );
contentPane.add( displayJTextArea );
// set properties of application's window
setTitle( "Student Grades for CIS190 Online Programming" ); // set title bar string
setSize( 670, 308 ); // set window size
setVisible( true ); // display window
} // end method createUserInterface
// convert a number to a letter grade
private String convertToLetterGrade( double grade )
{
if ( grade >= 90 )
{
return "A";
}
else if ( grade >= 80 )
{
return "B";
}
else if ( grade >= 70 )
{
return "C";
}
else if ( grade >= 60 )
{
return "D";
}
else
{
return "F";
}
} // end method convertToLetterGrade
// calculate and display the student and class average
private void submitGradesJButtonActionPerformed(
ActionEvent event )
{
// get user input
String nameOfStudent = studentNameJTextField.getText();
String studentID = studentIDJTextField.getText();
int test1 = Integer.parseInt( test1JTextField.getText() );
int test2 = Integer.parseInt( test2JTextField.getText() );
// add user input to arrays
studentNames[ studentCount ] = nameOfStudent;
studentID [studentID ] = studentID;
studentGrades[ studentCount ][ test1_test ] = test1;
studentGrades[ studentCount ][ test2_test ] = test2;
// clear other JTextFields for new data
studentNameJTextField.setText( "" );
studentIDJTextField.setText( "" );
test1JTextField.setText( "" );
test2JTextField.setText( "" );
} // end method submitGradesJButtonActionPerformed
// display student grades and averages as numbers
private void displayNumericGrades()
{
// add a header to displayJTextArea
displayJTextArea.setText(
"Name\t ID\t Midterm\t Finals\t Average\t Grade\n" );
int studentTotal = 0; // store the student's total grades
for ( int student = 0; student < studentCount; student++ )
{
// display student names
displayJTextArea.append( studentNames[ student ] + "\t" );
studentTotal = 0; // initialize the student's total grades
for ( int test = 0; test < number_of_test; test++ )
{
{ // display student ID
displayJTextArea.append( studentID[ ID ] + "\t" );
studentTotal = 0; // store the student's ID
for ( int test = 0; test < number_of_test; test++ )
{
// append each test grade to displayJTextArea
displayJTextArea.append(
studentGrades[ student ][ test ] + "\t" );
// add the test grade to the student's total
studentTotal += studentGrades[ student ][ test ];
} // end inner for
// calculate the student average and display it
double studentAverage =
( double ) studentTotal / number_of_test;
displayJTextArea.append(
twoDigits.format( studentAverage ) + "\n" );
// add a header to displayJTextArea
displayJTextArea.setText(
"Name\tID\ttest1 \ttest2 \tAverage\t Grade\n" );
int studentTotal = 0; // store the student's total grades
for ( int student = 0; student < studentCount; student++ )
{
// display student names
displayJTextArea.append( studentNames[ student ] + "\t" );
studentTotal = 0; // initialize the student's total grades
for ( int test = 0; test < number_of_test; test++ )
{
// append each test grade to displayJTextArea
displayJTextArea.append( convertToLetterGrade(
studentGrades[ student ][ test ] ) + "\t" );
}
}
Similar Threads
-
Replies: 3
Last Post: 05-08-2008, 06:00 AM
-
By Java_Noob in forum Java
Replies: 7
Last Post: 03-07-2006, 05:34 PM
-
By raghavan20 in forum Java
Replies: 1
Last Post: 12-22-2005, 05:11 PM
-
Replies: 1
Last Post: 12-05-2005, 06:40 PM
-
By Saphiroth in forum Java
Replies: 3
Last Post: 03-07-2005, 11:54 AM
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Development Centers
-- Android Development Center
-- Cloud Development Project Center
-- HTML5 Development Center
-- Windows Mobile Development Center
|