Hola:
Puedes hacerlo sin problemas.
Si quieres crear n JTextField, haz un array JTextField[n]. Puedes recorrer y añadir los listener recorriendo el array.
En cuanto al componente con varios componentes, haz una clase que herede de JPanel (sería el contenedor) y en el constructor de esa clase mete dentro del JButton y el JTextField. De esta forma puedes luego crear un MiPanel[n].
Cómo controlar dónde se coloca el componente
se hace por medio del Layouts. Si pones FlowLayout, por ejemplo, los componentes saldrán todos seguidos en horizontal. Con BoxLayout puedes ponerlos en vertical. Con GridLayout puedes ponerlos en forma de matriz.
Se bueno.