Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
3 / 3 / 4
Регистрация: 23.03.2010
Сообщений: 31
1

Как создавать динамические имена объектов?

21.05.2014, 13:47. Показов 1448. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть такой код:
Java
1
2
3
4
5
Jpanel panel1 = new Jpanel();
for(int i=0; i<3; i++){
     JTextField textfield = new JTextField();
     panel1.add(textfield);
}
Мне нужно чтобы создалось три JTextField с названиями типа: textfield1, textfield2, textfield3.
Вариант с анонимными JTextField:
Java
1
2
3
4
Jpanel panel1 = new Jpanel();
for(int i=0; i<3; i++){
     panel1.add(new JTextField());
}
не подходит, потому что мне нужно потому получать данные из этих полей.
Как мне это корректно реализовать?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2014, 13:47
Ответы с готовыми решениями:

Почему у двух созданных объектов одинаковые имена
Почему когда я создал 2 объекта и дал им разные имена, в итоге получается что у этих двух объектов...

Аргументы консоли, переменные внутри цикла, имена методов и объектов
В продолжение к теме https://www.cyberforum.ru/java-j2se/thread1781948.html FatNinja, HOBATOP,...

Как создавать имена id объектов типа Класс?
Есть например класс: public class People { public string first_name, second_name,...

как создавать динамическое число объектов
Помогите: как создавать динамическое число объектов, напишите, пожалуйста программу, в которой...

3
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
21.05.2014, 14:07 2
Добавляйте в лист.
0
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
21.05.2014, 14:15 3
Лучший ответ Сообщение было отмечено silverhawk90 как решение

Решение

1. Кривой вариант, но рабочий
Java
1
2
3
4
5
6
7
8
9
10
11
Jpanel panel1 = new Jpanel();
for(int i=0; i<3; i++){
     JTextField textfield = new JTextField();
     textfield.setName("textfield" + String.valueOf(i));
     panel1.add(textfield);
}
for (Component c : jp.getComponents()) {
   if(c.getName().equals("textfield5")){
      (JTextField) c ..............
   }
}
2. Более или менее корректный
Java
1
2
3
4
5
6
7
8
HashMap<String, JTextField> textFields = new HashMap<String, JTextField>();
Jpanel panel1 = new Jpanel();
for (int i = 0; i<3; i++) {
     JTextField textfield = new JTextField();
     panel1.add(textfield);
     textFields.put("textfield" + String.valueOf(i), textfield);
}
JTextField thirdTF = textFields.get("textfield2");
P.S. сори, если код не совсем рабочий, набирал вручную, немного копипастил
1
173 / 131 / 74
Регистрация: 04.12.2013
Сообщений: 552
21.05.2014, 20:46 4
silverhawk90, создайте поле объектов JTextField. И у вас уже будут объекты с индексами. Самый удобный вариант.
Java
1
2
3
4
5
6
JTextField[] textField = new JTextField[3];
for (int i = 0; i < textField.length; i++)
{
     textField[i] = new JTextField(); //инициализация объекта - обязательно
     textField[i].setText(String.valueOf(i));
}
0
21.05.2014, 20:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2014, 20:46
Помогаю со студенческими работами здесь

Как создавать массивы объектов, и как к ним обращаться?
как создавать массивы объектов и как к ним обращаться? вот что пишет создатель самого си в...

Как можно создавать/удалять дубликаты объектов во время воспроизведения?
Как можно создавать/удалять дубликаты объектов во время воспроизведения? В интернете не нашёл или...

Instantiate объектов. Как НЕ создавать копии если на спавнах уже есть объекты?
Есть несколько пустых GameObject's. Есть префабы двух объектов. Пытаюсь их клонировать на сцену....

Динамические имена массивов
Добрый вечер. У нас есть некий массив. Я хочу перебрать этот массив с помощью цикла и на каждой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru