Creating a reusable method to get a Text Field control (Component) created is good. But you cannot uniquely identify the Text Field until you have a reference variable for it.In the above code, field is a reference variable and you hardcode that reference variable in your code to get the value of that field.If you are creating a reusable method for returning Text Fields on the fly, you should also consider making the references of the newly created text fields available when needed. Consider the below code (Ignore my comment about List, lets take a Map. Maps are the data structures which will hold key value pairs).
Now, you have a place to refer to if you need value of the Text Field (The map). This is one way to do it.
Otherwise you can always hardcode the references in your code and create JTextField_1, JTextField_2, JTextField_3 at global level (Class level) which is absolutely fine and has no drawbacks.