Originariamente inviato da andbin 
JFrame è sì, tecnicamente, un "container" ma JFrame ha una struttura complessa, contiene un JRootPane che a sua volta, tra altre cose, contiene il "content pane". Quest'ultimo è il contenitore "base" in cui di norma si aggiungono i componenti.
			
		
 
	 
 
Facciamo prima se posto il codice:
Questo è tutto ciò che viene prima del Action
	codice:
	public class Main extends JFrame {
private static final long serialVersionUID = 1L;
    public static void main(String[] args){
        final JFrame Main = new JFrame("TEST");
        Main.setVisible(true);
        Main.setSize(600, 600);
        Main.setLocationRelativeTo(null);
        Main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
//Adding JPanel     
        JPanel panel = new JPanel();
        Main.add(panel);
//JPanel settings
        panel.setLayout(null);
        panel.setBackground(Color.GREEN);
//Adding JButton
        JButton button = new JButton("Button 1");
        JButton button2 = new JButton("Button2");
        panel.add(button);
        panel.add(button2);
//JButton settings
        button.setBounds(70, 160, 200, 200);
        button2.setBounds(320, 160, 200, 200);
    }
}