2015-11-22 2 views
1

Я назначаю несколько кнопок в сетку. Каждая кнопка имеет номер в качестве текста. Я создал номера массива и добавил числа к нему. Я использую коллекции для перетасовки чисел (я хочу иметь случайное число в каждой кнопке каждый раз, когда запускаю программу). Затем я добавляю число для каждого текста кнопки, используя этот массивList.Java - добавление текста в текст текста arraylist

Я хочу, чтобы каждая кнопка имела другое число. Однако сейчас каждая кнопка в 1 столбце имеет одинаковое число.

Любые предложения относительно того, как исправить эту проблему, будут очень признательны (случайное присвоение текста кнопки).

Это мой код:

Button[][] b= new Button[2][2]; 
List<Integer> n = new ArrayList<>(); 

    for(int i=0; i <2; i++){ 
     for(int j=0; j <2; j++){ 
      b[i][j] = new Button(String.valueOf(n.get(i))); 
      pane.add(button[i][j], i, j); 
     } 
    } 

ответ

1

С numbers.get(i) вы только обращающегося первые 4 номера в вашем ArrayList, так как i итерацию от 0 к 3.

Изменить

b[i][j] = new Button(String.valueOf(numbers.get(i))); 

в

b[i][j] = new Button(String.valueOf(n.get(i*4+j))); 

Edit:

Обратите внимание, что вы должны использовать nArrayList, Не numbers (я понятия не имею, что она содержит).

+0

Это работает. У меня была ошибка, когда я ввел ее в свой код. спасибо – BeginnerHelp

Смежные вопросы