I'm new to the Java swing library and I'm currently having some trouble setting the background of my JFrame.
I have read jframe-setbackground-not-working-why and the link inside it, but it doesn't seem to fit here.
Here is my codes:
public class Board extends JPanel{
    public enum pointType{
        EMPTY,
        CARRIER,
        BALL;
    }
    private class Point{
        int x;
        int y;
        pointType type;
        public void paint (Graphics2D g2){
            // color changes depends on pointType
            g2.setColor(Color.WHITE);
            g2.fillOval(x,y,25,25);
        }
    }
    Point[][] myBoard;
    public Board(){
        //constructor, myBoard = 2d List of points
    }
    //.. other methods and class variables
    public void paint(Graphics g){
        Graphics2D g2 = (Graphics2D) g;
        for(int k =HEIGHT; k>=0; k--){
            for(int i=WIDTH; i>=0; i--){
                // call paint method for each points on board
                myBoard[i][k].print(g2);
            }
        }
    }
    public static void main(String[] args){
        Board board = new Board();
        JFrame myFrame = new Jframe("Game");
        myFrame.add(board);
        board.setBackground(Color.YELLOW);
        myFrame.setVisible(true);
        mtFrane.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }
}
My code successfully prints all the points according to their pointType, but the board color is not set correctly (still default background).
So here are the questions:
1) How should I set the background correctly?
2) I feel that my code is not using JPanels/JFrames/Graphics together correctly, if that's the case, any suggestions on how I improve my code structures?
