Мой вопрос в том, как я могу добавить переменные, которые затем инициализируются в программе массивом или arraylist с помощью цикла.Добавление переменных, которые инициализируются позже в arraylist или array с помощью цикла
Example:
JButton btn1, btn2, btn3;
...
private void createIco(){
btn1 = new JButton(ico1); // ico1 is a ImageIcon-Object
btn2 = new JButton(ico2);
btn3 = new JButton(ico3);
}
// so i have now the instances of the buttons and now i want them store with
// a loop in a array or arraylist.
private void createBtnArray(){
// here a array
JButton[] buti = new JButton[3];
//how i can store them ? which loop is good or is this the wrong way to
//do ?
}
Отредактировано: Thx пока все.
Да, создание массива и использование этого массива отлично работают. Также отлично работал, делая все своими руками lol. Но моя точка зрения больше похожа на это:
Допустим, я сделал много объектов в глупом образом, как это:
public class Test extends JFrame {
private BufferedImage cImg, cImg1, cImg2 cImg3 ............
private ImageIcon ico1, ico2, ico3, ico4, ...............
private JButton btn1, bnt2, btn3, btn4, ................
...........
public Test(){
initUI();
}
private void initUI(){
// this methods will initialize all objects above
loadImg();
cropImg();
createIcon();
createButton();
...............
createArray1();
}
public static void main(String[] args){
Test start = new Test();
}
Теперь я знаю, что я могу переделать все снова и использовать массивы вместо отдельных объектов и я сделал это, и это сработало. Но я думаю, что это много двойная работа, потому что я сделал их уже и думал с помощью простой петли, я мог бы поместить все в массив или список или что-нибудь и использовать только этот массив-объект для получения других объектов.
Мое желание было то, что: JButton [] btnAll = new JButton [100]; а затем получите с циклом все экземпляры, которые я уже создал до этого в программе, и используйте createArray1(), даже я точно знаю, где они точно инициализированы. Я просто знаю, что они сделаны.
И мой следующий шаг был, я хотел снова положить все эти массивы в массив объектов, чтобы получить доступ только к форме 1 балл. Например: Object [] all = new Object [3]; все [0] = btnAll; все [1] = icoAll; все [2] = imgAll;
Так что я наконец-то хотел выглядеть так: JButton test = all [0 [2]];
поэтому я могу назвать только упакованную версию.
PS: да я пойду на массив, список и так далее учебник еще раз, чтобы увидеть, если я нахожу это там
Почему у вас есть 'btn1',' btn2' и 'btn3' в первую очередь? Просто используйте массив (или список) с самого начала. –
Почему у вас есть отдельные переменные? Почему не просто поле 'JButton [] кнопок? –
вы можете нормально хранить, 'buti [0] = btn1; бути [1] = btn2; buti [2] = btn3; 'если вы используете функцию, вы используете экземпляр класса переменной' buti'. –