I'm trying to work on my GUI coding so am taking it upon myself just to create several different interfaces for examples I had been given in class.
Im trying to create a GUI here that at the top has Labels followed by their respective text fields for the user to input, with one on top of the other. I then want this to be followed by a series of two buttons and finally a results field that is uneditable (as will later introduce some fields for results) and opaque. I get a whole series of errors so was wondering if I am just doing something stupid wrong.
The code for the panel is here:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class GradePanel extends JPanel {
private JButton addEntry, calculate;
private JLabel name, grade;
private JTextField nameField, gradeField, resultField;
public GradePanel() {
// Button to add entry to list
addEntry = new JButton("Add entry to list");
// addEntry.addActionListener(new tempListener());
// Button to print all entries in correct format
calculate = new JButton("Print all user grades");
// calculate.addActionListener(new tempListener());
//Create Labels
name = new JLabel("Enter student name: ");
nameField = new JTextField(10);
// nameField.addActionListener(new tempListener());
grade = new JLabel("Enter students mark: ");
gradeField = new JTextField(5);
// gradeField.addActionListener(new tempListener());
//Bottom segment for result
resultField = new JTextField();
resultField.setOpaque(false);
resultField.setEditable(false);
setLayout(new BorderLayout());
//Bottom Panel
JPanel GradePanel = new JPanel();
GradePanel.setBorder(BorderFactory.createTitledBorder("Students/Results"));
GradePanel.setOpaque(false);
GradePanel.add(resultField);
//Button Panel
JPanel ButtonPane = new JPanel();
ButtonPane.add(addEntry, BoxLayout.LINE_AXIS);
ButtonPane.add(calculate, BoxLayout.LINE_AXIS);
//Label Panel
JPanel labelPane = new JPanel();
labelPane.add(name);
labelPane.add(Box.createRigidArea(new Dimension (5,0)));
labelPane.add(nameField);
labelPane.add(Box.createRigidArea(new Dimension (0,2)));
labelPane.add(grade);
labelPane.add(Box.createRigidArea(new Dimension (5,0)));
labelPane.add(gradeField);
//Add all panels to the main panel
add(labelPane, BorderLayout.NORTH);
add(ButtonPane, BorderLayout.CENTER);
add(GradePanel, BorderLayout.SOUTH);
setBackground(Color.WHITE);
setPreferredSize(new Dimension(400, 300));
}
Thanks in advance!
