سؤال

إذا كان لدي قائمة ArrayList من نوع INTEGER ، تحتوي على أرقام مثل 1،3،4،9،10 وما إلى ذلك ... كيف يمكنني عرض تلك الموجودة على JLabel ، وليس المبلغ ، ولكن جميع الأرقام في تسلسل.

لذلك سيعرض JLabel ، في هذه الحالة: 134910

شكرا لكم مقدما على أي مساعدة.

تحرير: شكرًا لكم جميعًا ، Ofcourse كان يجب أن أفكر في الإلحاق. على أي حال ، شكرا الكل!

هل كانت مفيدة؟

المحلول

مثله:

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

نصائح أخرى

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);
}

مثال:

    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() );

Apache Commons Lang إلى الإنقاذ (مرة أخرى) مع StringUtils.join () (في نكهات مختلفة).

تبدأ بسلسلة فارغة (أو StringBuilder). ثم تكرر من خلال عناصر القائمة ، وإضافة كل عنصر إلى السلسلة. ثم قمت بتعيين السلسلة كنص JLabel.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top