【问题标题】:ArrayList content to JLabelArrayList 内容到 JLabel
【发布时间】:2009-10-07 14:40:44
【问题描述】:

如果我有一个 Integer 类型的 ArrayList,其中包含 1、3、4、9、10 等数字...我如何在 JLabel 上显示这些数字,而不是总和,而是序列中的所有数字。

因此 JLabel 将显示,在本例中为:134910

提前感谢您的帮助。

编辑:谢谢大家,我当然应该考虑追加。总之,谢谢大家!

【问题讨论】:

    标签: java user-interface arraylist jlabel


    【解决方案1】:

    像这样:

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

    【讨论】:

    • 是的,检查 null,因为这些是对象。我认为空字符串可能比文本“null”更可取。 :)
    【解决方案2】:
    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);
    }
    

    【讨论】:

      【解决方案3】:

      例子:

          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&lt;Integer&gt; list = Arrays.asList(1, 3, 5, 7);
      • 或者更好:List&lt;Integer&gt; list = Arrays.asList(1, 3, 5, 7);
      • 谢谢,这样看起来确实更好。
      【解决方案4】:

      Apache Commons Lang 再次使用 StringUtils.join()(不同风格)进行救援。

      【讨论】:

        【解决方案5】:

        您从一个空字符串(或 StringBuilder)开始。然后遍历列表中的项目,将每个项目添加到字符串中。然后将字符串设置为 JLabel 的文本。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-24
          • 2015-04-12
          • 2021-03-11
          • 2015-07-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多