【发布时间】:2009-10-07 14:40:44
【问题描述】:
如果我有一个 Integer 类型的 ArrayList,其中包含 1、3、4、9、10 等数字...我如何在 JLabel 上显示这些数字,而不是总和,而是序列中的所有数字。
因此 JLabel 将显示,在本例中为:134910
提前感谢您的帮助。
编辑:谢谢大家,我当然应该考虑追加。总之,谢谢大家!
【问题讨论】:
标签: java user-interface arraylist jlabel
如果我有一个 Integer 类型的 ArrayList,其中包含 1、3、4、9、10 等数字...我如何在 JLabel 上显示这些数字,而不是总和,而是序列中的所有数字。
因此 JLabel 将显示,在本例中为:134910
提前感谢您的帮助。
编辑:谢谢大家,我当然应该考虑追加。总之,谢谢大家!
【问题讨论】:
标签: java user-interface arraylist jlabel
像这样:
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() );
【讨论】:
ArrayList<Integer> list = Arrays.asList(1, 3, 5, 7);
List<Integer> list = Arrays.asList(1, 3, 5, 7);
Apache Commons Lang 再次使用 StringUtils.join()(不同风格)进行救援。
【讨论】:
您从一个空字符串(或 StringBuilder)开始。然后遍历列表中的项目,将每个项目添加到字符串中。然后将字符串设置为 JLabel 的文本。
【讨论】: