Проблема в коде свинга Java - PullRequest
0 голосов
/ 26 ноября 2010

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

public static JFrame ListDraw(JFrame frame , ArrayList<Integer> e)
{
    for(int i= 0;i<e.size();i++)
    {
        JLabel j = new JLabel(e.get(i).toString(),JLabel.CENTER); 
        frame.add(j);
    }
    return frame;
}

Но он просто печатает последний элемент массива в метке. Что я тут не так делаю?

--------------------- (обновление)

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

Ответы [ 3 ]

3 голосов
/ 26 ноября 2010

Полагаю, вам нужно установить макет для вашего кадра, например: frame.setLayout(new FlowLayout());.

1 голос
/ 26 ноября 2010

Ваш кадр не адаптируется к новой группе элементов - LayoutManager не получает возможности изменить размер окна. В конце вашей функции добавьте frame.pack().

0 голосов
/ 26 ноября 2010

Вы должны использовать setBounds(), чтобы определить размер вашего фрейма и предоставить ему LayoutManager на ваш выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...