Here is my code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Main extends JFrame implements ActionListener {
    private JPopupMenu popup;
    private JMenuItem red, green, blue, resetBtn;
    private JButton btn = new JButton("Button");
    private Container c;
    public Main() {
        super("Test JPopupMenu");
        c = getContentPane();
        c.setBackground(Color.white);
        // Right Click Popup Menu       
        popup = new JPopupMenu();
        popup.add(red = new JMenuItem("Red"));
        red.addActionListener(this);
        popup.add(green = new JMenuItem("Green"));
        green.addActionListener(this);
        popup.add(blue = new JMenuItem("Blue"));
        blue.addActionListener(this);
        popup.addSeparator();
        popup.add(resetBtn = new JMenuItem("Reset"));
        resetBtn.addActionListener(this);
        addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent evt) {
                if ( evt.isPopupTrigger() ) {
                    popup.show(evt.getComponent(), evt.getX(), evt.getY());
                }
            }
            public void mouseReleased(MouseEvent evt){
                if ( evt.isPopupTrigger() ) {
                    popup.show(evt.getComponent(), evt.getX(), evt.getY());
                }
            }
        });
        JPanel jpane = new JPanel();
        jpane.add(btn);
        c.add(jpane);
    }
    public void actionPerformed(ActionEvent evt) {
        if ( evt.getSource() == btn ) {
            JOptionPane.showMessageDialog(null, "You pressed the button!");
        }
        if ( evt.getSource() == red ) {
            c.setBackground(Color.red);
        }
        if ( evt.getSource() == green ) {
            c.setBackground(Color.green);
        }
        if ( evt.getSource() == blue ) {
            c.setBackground(Color.blue);
        }
        if ( evt.getSource() == resetBtn ) {
            c.setBackground(Color.white);
        }
        repaint();
    }
    public static void main(String[] args) {
        Main app = new Main();
        app.setDefaultCloseOperation(EXIT_ON_CLOSE);
        app.setSize(300,300);
        app.setVisible(true);
        app.setResizable(false);
    }
}
The jpanel covers the whole jframe of mine. What can I do to make it only cover the top-left 200px square? I tried setSize for the jpanel but it doesn't works. How can I solve it?
Any help will be appreciated. Thanks for your help.
 
     
    
 
    