我打算取整数列表的元素并将其添加到标签中,然后一个接一个地以向下的方式打印它们。我为它编写了以下代码。
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;
}
但它只打印标签中的最后一个数组元素。我在这里做错了什么?
---------------------(更新)
这只是我对同一件事的查询。所以我只会在这里问一下。有没有办法在堆栈中打印标签项目,如垂直对齐。现在我以水平方式打印所有值。
答案 0 :(得分:3)
我想你需要为你的框架设置布局,f.ex:frame.setLayout(new FlowLayout());
。
答案 1 :(得分:1)
您的框架不适应新的元素组 - LayoutManager没有机会调整窗口大小。在功能结束时,添加frame.pack()
。
答案 2 :(得分:0)
您应该使用setBounds()
来定义框架的大小,并为其选择一个LayoutManager。