Escolher a Posição do JtextField e do JButton

Boa tarde, galera. Gostaria de uma ajuda. Estou querendo mudar a posição do JtextField e do JButton no lugar que eu desejar. O código tem dois JTextField e Um JButton centralizados, mas na parte superior do JPanel.
Aqui esta o código:

public class CalcularCalcario extends JFrame {

public CalcularCalcario(){
    super("Formula para CAlcular CAlcario");

 
    
JFrame frame = new JFrame();
JPanel painel = new JPanel();
JButton botao = new JButton("Calcular");
JTextField texto1 = new JTextField(" ", 5);
JTextField texto2 = new JTextField(" ", 5);


    painel.add(texto1);
    painel.add(texto2);
    painel.add(botao);
   
  
    frame.add(painel);
    frame.setVisible(true);
    frame.setSize(400, 400);
    frame.setLocation(450, 100);
    
    botao.addActionListener(
    
            new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent evento) {
            //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        
            String valorUm = String.valueOf(texto1.getText());
                 Double valor1 = Double.parseDouble(valorUm);
                 
                 
            String valorDois = String.valueOf(texto2.getText());
                    Double valor2 = Double.parseDouble(valorDois);
                    System.out.print("daivson" + (valor1 + valor2 ) );
        
        
        }
       }
    
    );
    
  }  


public static void main(String[] args) {
    // TODO code application logic here
    CalcularCalcario calcular = new CalcularCalcario();
    
    calcular.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    
}

}

@daivson
Você precisa usar um Layout Manager para fazer os posicionamentos dos objetos, mas aconselho você a usar uma IDE como eclipse ou netbeans, elas facilitam muito o trabalho.

Tutorial: https://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

Eu li no doc do oracle que cada objeto do JPanel é inicializado para usar FlowLayout. E realmente esse código que coloquei está de acordo com o FlowLayout, mas não tinha percebido.
Verdade. Estou usando a IDE NETBEANS, mas estou indo pelo lado mais “difícil” para poder aprender mais da programação em JAVA. Obrigado.