This is my first time posting so I apologize if the question is too vague or I do not describe my problem so well.
I am working on a Java JFrame
project and have run into a small issue. I need to instantiate arrays of various frame elements. What I have done as of now works, however, it is very inefficient and I was wondering if there is a better, easier way to accomplish this task. The generated code generated by NetBeans instantiates my object as per there variable name that I have supplied. I am then writing a method where I am manually entering the array and which element that is equal to. Here is the auto-generated code:
private javax.swing.JTextField activityStartTxt0; private javax.swing.JTextField activityStartTxt1; private javax.swing.JTextField activityStartTxt2; private javax.swing.JTextField activityStartTxt3; private javax.swing.JTextField activityStartTxt4;
The same code is used to instantiate five activityEndTxt
, 5 dayDropBox
, 5 timeStartDropBox
and 5 timeEndDropBox
instances.
I then write these elements into arrays:
public void addArrays(){ dayDropBox[0] = dayDropBox0; dayDropBox[1] = dayDropBox1; dayDropBox[2] = dayDropBox2; dayDropBox[3] = dayDropBox3; dayDropBox[4] = dayDropBox4; activityStartTxt[0] = activityStartTxt0; activityStartTxt[1] = activityStartTxt1; activityStartTxt[2] = activityStartTxt2; activityStartTxt[3] = activityStartTxt3; activityStartTxt[4] = activityStartTxt4; timeStartDropBox[0] = timeStartDropBox0; timeStartDropBox[1] = timeStartDropBox1; timeStartDropBox[2] = timeStartDropBox2; timeStartDropBox[3] = timeStartDropBox3; timeStartDropBox[4] = timeStartDropBox4; activityEndTxt[0] = activityEndsTxt0; activityEndTxt[1] = activityEndsTxt1; activityEndTxt[2] = activityEndsTxt2; activityEndTxt[3] = activityEndsTxt3; activityEndTxt[4] = activityEndsTxt4; timeEndDropBox[0] = timeEndDropBox0; timeEndDropBox[1] = timeEndDropBox1; timeEndDropBox[2] = timeEndDropBox2; timeEndDropBox[3] = timeEndDropBox3; timeEndDropBox[4] = timeEndDropBox4; }
Advertisement
Answer
Use an array as shown below:
public void addArrays(){ DropBox[] dayDropBoxes = {dayDropBox0, dayDropBox1, dayDropBox2, dayDropBox3, dayDropBox4}; for(int i=0; i < dayDropBoxes.length && i < dayDropBox.length; i++){ dayDropBox[i] = dayDropBoxes[i]; } //... }
Note: I’m not sure the type of dayDropBox0
, dayDropBox1
etc. Replace DropBox[]
with the applicable type.