import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import java.text.DecimalFormat;
public class Grades extends JFrame
{
//construct components
JLabel title = new JLabel("Grades");
JTextPane textPane = new JTextPane();
int numberOfGrades = 0;
double total = 0;
DecimalFormat twoDigits = new DecimalFormat ("##0.00");
//initialize data in arrays
int[] grades = new int[50];
//create the content pane
public Container createContentPane()
{
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new FlowLayout());
//create the JTextPane and center panel
textPane = addTextToTextPane();
JScrollPane scrollPane = new JScrollPane(textPane);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setPreferredSize(new Dimension(500, 200));
centerPanel.add(title);
centerPanel.add(scrollPane);
//create Container and set attributes
Container c = getContentPane();
c.setLayout(new BorderLayout(10,10));
c.add(centerPanel,BorderLayout.CENTER);
return c;
}
public JTextPane addTextToTextPane()
{
Document doc = textPane.getDocument();
try
{
//clear previous text
doc.remove(0, doc.getLength());
for (int j=0; j<numberOfGrades; j++)
{
doc.insertString(doc.getLength(), "\t" + String.valueOf(grades[j]) + "\n");
}
}
catch(BadLocationException ble)
{
System.err.println("Couldn't insert grade.");
}
return textPane;
}
//method to sort arrays
public void sort(int values[], int count)
{
//loop to control number of passes
for (int pass = 1; pass < count; pass++)
{
for (int element = 0; element < count; element++)
if (values[element] > values [element +1])
{
swap(values, element, element+1);
}
}
addTextToTextPane();
}
///method to swap two elements of an arry
public void swap(int swapArray[], int first, int second)
{
int hold; //temporary holding area for swap
hold = swapArray[first];
swapArray[first] = swapArray[second];
swapArray[second] = hold;
}
//main method executes at run time
public static void main(String args[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
Grades f = new Grades();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
int intInput = Integer.parseInt(JOptionPane.showInputDialog(null, "Please enter grade (0-100) or -1 to exit"));
while (intInput != -1)
{
if (intInput > 0)
{
grades[numberOfGrades] = intInput;
total += intInput;
numberOfGrades++;
}
intInput = Integer.parseInt(JOptionPane.showInputDialog(null, "Please enter grade (0-100) or -1 to exit"));
}
sort(grades, numberOfGrades);
f.setContentPane(f.createContentPane());
f.setSize(600,375);
f.setVisible(true);
}
}
Ok I had posted a thread before with a different problem, and so I thought it might be best to start a new thread...
I am getting an error now that on line 60 insertString cannot be applied to that becuase its an int, but I am trying to use the valueOf method to return a string value from its int argument...so I am really confused!
Thanks for anyones help