Igual depende del tipo de contenedor que uses, en el caso de un Flowlayout simplemente hay que agregarlos al panel y listo, no hay que especificar posiciones ni nada.
Código:
import javax.swing.JButton;
import javax.swing.WindowConstants;
public class Ventana extends javax.swing.JFrame {
int numeroBotones = 10;
public Ventana() {
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new java.awt.FlowLayout());
for(int i = 0; i <= numeroBotones; i++) {
System.out.println(i);
getContentPane().add(new JButton("Boton" + i));
}
pack();
}
}
public static void main(String args[]) {
new Ventana().setVisible(true);
}
}
En caso de que uses algún contenedor que soporte ubicar los componentes en algunas coordenadas, solo tendrías que hacer unas variables para esos datos y dentro del ciclo for aplicárselas a los componentes, luego incrementas esos valores antes de terminar el for.