Ваш вектор данных инициализирован, но никогда не заполняется данными, вы должны иметь оператор «add» после получения массива элементов:
Object[] elements = arrayList.toArray();
data.add(elements);
Также переместите эти операторы в конец внешнего цикла, чтобы вы могли добавлять в свои векторные строки данных данные вместо одной строки со всеми полями каждой строки в одном.
Кроме того, вас может заинтересовать связывание одной из ваших кнопок с помощью оператора data.clear ().
Кстати, я вижу странную логику внутри вашего внутреннего цикла при подсчете количества токенов:
while (st.hasMoreTokens()) {
tokenNumber++;
arrayList.add(st.nextToken());
tokenNumber = 0;
}
Ваш последний оператор внутри этого цикла должен быть вне его, иначе ваша переменная "tokenNumber" всегда будет содержать значение 0 или 1.