I AM NOT ABLE TO CHANGE THE BACKGROUND COLOR OF MY JPANEL

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


public class TriangleCalculator extends JFrame{

private JLabel sideALabel, sideBLabel, sideCLabel, areaLabel, perimeterLabel, missingSideLabel,triangleImage;
private JTextField sideAInput,sideBInput, sideCInput;
private JRadioButton sideAOption, sideBOption, sideCOption;
private JButton calculateButton, clearButton;
private JPanel buttonPane, mainPanel;
private GridBagConstraints gbc;
private ButtonGroup group;
private double a, b, c;
private double missingSide, area, perimeter;
private Font font;
private ImageIcon img;

public TriangleCalculator(){
super("Triangle Calculator");
ImageIcon img = new ImageIcon("C:\\Users\\Shaheedul\\workspace\\Triangle Solver\\src\\triangleImage.png");
setIconImage(img.getImage());
getContentPane().setBackground(Color.WHITE);        //DOSEN'T WORK
addComponents();
addActions();
setSize(700, 300);
setVisible(true);

}

public void addComponents(){
gbc = new GridBagConstraints();
group = new ButtonGroup();


areaLabel = new JLabel("Area of Triangle: ");
perimeterLabel = new JLabel("Perimeter of Triangle: ");
missingSideLabel = new JLabel("Missing Side: ");

areaLabel.setFont(new Font("Dialog", Font.BOLD, 15));
perimeterLabel.setFont(new Font("Dialog", Font.BOLD, 15));
missingSideLabel.setFont(new Font("Dialog", Font.BOLD, 15));

triangleImage = new JLabel();
triangleImage.setIcon(new ImageIcon("C:\\Users\\Shaheedul\\workspace\\Triangle Solver\\src\\triangleImage.png"));

sideALabel = new JLabel("Enter the value of side A: ");
sideBLabel = new JLabel("Enter the value of side B: ");
sideCLabel = new JLabel("Enter the value of side C: ");

sideAInput = new JTextField(10);
sideBInput = new JTextField(10);
sideCInput = new JTextField(10);

sideAOption = new JRadioButton("", true);
sideBOption = new JRadioButton("", false);
sideCOption = new JRadioButton("", false);

group.add(sideAOption);
group.add(sideBOption);
group.add(sideCOption);

calculateButton = new JButton("Calculate");
clearButton = new JButton("Clear");


buttonPane = new JPanel(new GridLayout(0, 2));
mainPanel = new JPanel();

JPanel jpGrid = new JPanel(new GridLayout(0, 3, 5, 3));

add(buttonPane, BorderLayout.SOUTH);
add(jpGrid, BorderLayout.CENTER);

buttonPane.add(clearButton);
buttonPane.add(calculateButton);
getRootPane().setDefaultButton(calculateButton);

jpGrid.add(sideALabel);
jpGrid.add(sideAInput);
jpGrid.add(sideAOption);
//jpGrid.add(triangleImage);

jpGrid.add(sideBLabel);
jpGrid.add(sideBInput);
jpGrid.add(sideBOption);

jpGrid.add(sideCLabel);
jpGrid.add(sideCInput);
jpGrid.add(sideCOption);

jpGrid.add(areaLabel);
jpGrid.add(perimeterLabel);
jpGrid.add(missingSideLabel);

}



public void addActions(){


calculateButton.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event)
{
if (sideAInput.getText().equals("")){
sideAInput.setEditable(false);
}

if(sideBInput.getText().equals("")){
sideBInput.setEditable(false);
}

if(sideCInput.getText().equals("")){
sideCInput.setEditable(false);
}


try{
a = Double.parseDouble(sideAInput.getText());
b = Double.parseDouble(sideBInput.getText());
c = Double.parseDouble(sideCInput.getText());
}catch(Exception e){

}

if (sideAOption.isSelected()){
sideAmissing(b, c);
}

else if (sideBOption.isSelected()){
sideBmissing(a, c);
}

else{
sideCmissing(a, b);
}

solveArea();
solvePerimeter();
setLabels();
}
}

);
clearButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
clear();
}
}
);

}
public void sideAmissing(double b, double c){
missingSide = Math.sqrt(Math.pow(c, 2) - Math.pow(b, 2));
}
public void sideBmissing(double a, double c){
missingSide = Math.sqrt(Math.pow(b, 2) - Math.pow(c, 2));
}
public void sideCmissing(double a, double b){
missingSide = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
}
public void solveArea(){
area = (a * b)  / 2;
}
public void solvePerimeter(){
perimeter = a + b + c;
}
public void setLabels(){
missingSide = (double) Math.round(missingSide * 10) / 10;
areaLabel.setText("Area of Triangle: " + area);
perimeterLabel.setText("Perimeter of Triangle: " + perimeter);
missingSideLabel.setText("Missing Side: " + missingSide + "cm");
}
public void clear(){


areaLabel.setText("Area of Triangle: ");
perimeterLabel.setText("Perimeter of Triangle: ");
missingSideLabel.setText("Missing Side: ");

sideAInput.setText("");
sideBInput.setText("");
sideCInput.setText("");

sideAInput.setEditable(true);
sideBInput.setEditable(true);
sideCInput.setEditable(true);
}
/**
* Will convert from millimetres to cm by multilying by 100
* @param num
* @return the converted number
*/

public double mmTocm(int num){
double newNum = num * 100;
return newNum;
}
/**
* Will convert from metres to cm by multilying by 0.1
* @param num
* @return the converted number
*/
public double mTocm(int num){
double newNum = num * 0.1;
return newNum;
}

}