2009-10-07 2 views
1

Если у меня есть ArrayList типа Integer, содержащий числа, такие как 1,3,4,9,10 и т. Д. Как я могу отображать те, которые находятся на JLabel, а не на сумму, но все числа в последовательность.Содержимое ArrayList для JLabel

Так JLabel будет отображаться, в данном случае: 134910

Заранее спасибо за любую помощь.

EDIT: Спасибо всем, конечно, я должен был подумать о добавлении. В любом случае, спасибо всем!

ответ

3

Как это:

StringBuilder sb = new StringBuilder(); 
for (Integer i : list) { 
    sb.append(i == null ? "" : i.toString()); 
} 
lbl.setText(sb.toString()); 
+0

+1 аккуратный. Что случилось с 'sb.append (i)'? – OscarRyz

+0

Это для нулевого? – OscarRyz

+1

Да, проверка на null, так как это объекты. Я полагал, что пустая строка может быть предпочтительнее текста «null». :) – jsight

0

Вы начинаете с пустой строкой (или StringBuilder). Затем вы перебираете элементы списка, добавляя каждый элемент в строку. Затем вы устанавливаете строку как текст JLabel.

1
private static String fromListToString(List<Integer> input) { 
    StringBuilder sb = new StringBuilder(); 
    for (Integer num : input) { 
     sb.append(num); 
    } 
    return sb.toString(); 
} 

public static void main(String[] args) { 
    JFrame f = new JFrame(); 
    List<Integer> list = new ArrayList<Integer>(); 
    list.add(1); 
    list.add(3); 
    list.add(4); 
    list.add(9); 
    list.add(10); 
    f.getContentPane().add(new JLabel(fromListToString(list))); 
    f.pack(); 
    f.setLocationRelativeTo(null); 
    f.setVisible(true); 
} 
+0

Спасибо за ответ! – 2009-10-07 14:54:14

1

Пример:

List<Integer> list = Arrays.asList(1, 3, 5, 7); 

    StringBuilder joined = new StringBuilder(); 
    for (Integer number : list) { 
     joined.append(number); 
    } 
    new JLabel().setText(joined.toString()); 
+2

Или еще лучше: 'ArrayList list = Arrays.asList (1, 3, 5, 7);' – IgKh

+0

Или еще лучше: 'Список list = Arrays.asList (1, 3, 5, 7);' –

+0

Спасибо , это действительно выглядит лучше. – tangens

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