Динамические объекты JavaFX

Я новичок в Java и JavaFX. У меня есть опыт работы с php, javascript, HTML... Я пытаюсь создать графический интерфейс для выполнения математических операций и отображения результатов с использованием текстовых объектов javaFX. У меня есть метод конструктора для создания каждого текстового объекта на основе его ввода. Затем у меня есть еще один метод конструктора, который будет вызывать предыдущий несколько раз, создавая несколько текстовых объектов, но я не могу заставить его работать, потому что он не позволяет мне определять новые текстовые объекты на основе входных методов ex:

public function(variable)
{
    Text variable = new Text();
}

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

Кроме того, как бы я добавил их всех к сцене в конце. Будет ли метод конструктора добавлять каждого в группу по мере их создания, а затем вся группа будет добавлена ​​с помощью метода получения дочерних элементов?

Более общее представление о том, что я хочу создать: программа будет начинаться с 10 текстовых элементов на экране. Пользователь мог щелкнуть два объекта и выбрать сложение/вычитание/умножение их вместе, а затем после обработки события с ответом будет создана другая текстовая метка. Затем новый можно использовать для создания другого ответа, другого и так далее...

Может быть, я подхожу к этому совершенно неправильно, дайте мне знать, как бы вы подошли к этому.

-возвращаясь к моему первоначальному вопросу, я мог бы назвать стартовые 10 статически, если бы хотел, но мне нужно знать, как сделать это динамически, чтобы добавить больше, я думаю... ...или, может быть, я не в себе.. .

Заранее спасибо, Брэд


person B Rad C    schedule 27.11.2012    source источник


Ответы (1)


Вы хотите использовать какую-то простую коллекцию, например Array или List. Вы можете прочитать руководства по коллекциям для Явы. Для вашей программы самым простым подходом, вероятно, будет массив объектов Text:

Text[] textObjects = new Text[10];//Replace 10 with however many you will need
for(int i = 0; i < 10; i++) {
  textObjects[i] = new Text();
}
person Tom G    schedule 27.11.2012