محتوى ArrayList إلى Jlabel
-
20-09-2019 - |
سؤال
إذا كان لدي قائمة 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.
لا تنتمي إلى StackOverflow