Java swing代码中的问题

时间:2010-11-26 20:40:14

标签: java swing

我打算取整数列表的元素并将其添加到标签中,然后一个接一个地以向下的方式打印它们。我为它编写了以下代码。

public static JFrame ListDraw(JFrame frame , ArrayList<Integer> e)
{
    for(int i= 0;i<e.size();i++)
    {
        JLabel j = new JLabel(e.get(i).toString(),JLabel.CENTER); 
        frame.add(j);
    }
    return frame;
}

但它只打印标签中的最后一个数组元素。我在这里做错了什么?

---------------------(更新)

这只是我对同一件事的查询。所以我只会在这里问一下。有没有办法在堆栈中打印标签项目,如垂直对齐。现在我以水平方式打印所有值。

3 个答案:

答案 0 :(得分:3)

我想你需要为你的框架设置布局,f.ex:frame.setLayout(new FlowLayout());

答案 1 :(得分:1)

您的框架不适应新的元素组 - LayoutManager没有机会调整窗口大小。在功能结束时,添加frame.pack()

答案 2 :(得分:0)

您应该使用setBounds()来定义框架的大小,并为其选择一个LayoutManager。