Моей программы начинается с напоминанием пользователя о том, сколько текстовых полей они хотели бы иметьчтение ArrayList JTextFields
public class textEvent1 implements ActionListener { //action listener for "how many masses?"
public void actionPerformed (ActionEvent e) {
n = (int)(Double.parseDouble(massNumField.getText()));
Следующий я создать цикл для создания этикеток и текстовых полей (которые я создал списки, потому что я не знаете, сколько будет). Есть несколько списков, но я приведу пример только одного.
ArrayList masses = new ArrayList();
for(int i=1; i<=n; i++) { //adds text event 2 text to the screen
massLabel = new JLabel("How much mass does Mass " +i+ " have? ");
massField = new JTextField(5);
masses.add(massField);
Теперь моя проблема возникает, когда я пытаюсь присвоить элемент списка масс такой переменной.
for(int i=1; i<=n; i++) {
mass = Double.parseDouble(((JTextComponent) masses.get(i)).getText());
Я попробовал пару вещей ... масса = masses.get (I) ..... масса = masses.get (я) .getText()) и так далее и так далее. Я либо продолжаю получать ошибки, такие как исключения Null pointer или вещи, говорящие, что я не могу parseDouble Object.
Там ошибки, которые arrise для этого примера, как показано ниже
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 3 >= 3
at java.util.Vector.elementAt(Unknown Source)
at acmx.export.java.util.ArrayList.get(ArrayList.java:54)
at Orbit$textEvent2.actionPerformed(Orbit.java:151)
линия 151 является
mass = Double.parseDouble(((JTextComponent) masses.get(i)).getText());
Не могли бы вы изменить свой вопрос, чтобы указать, как вы создаете и настраиваете переменную 'mass'? Я подозреваю, что это может быть проблемой. (Нажмите кнопку «edit» в левом нижнем углу вашего вопроса) – Michael0x2a
* «Любые предложения были бы очень полезны». * Предлагаю вам задать вопрос .. Также: 1) Для лучшей помощи раньше, отправьте сообщение [SSCCE] (http://sscce.org/). 2) Всегда копировать/вставлять вывод ошибок и исключений. –