开发者

Problem in Java swing code

I intend to take the elements of an integer list and add it to a label and print them in downward fashion one after another. I wrote the following code for it.

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;
}

But it just prints the last array element in the label. What am I doing wrong here?

---------------------(update)

This is just a query that I have rega开发者_运维知识库rding the same thing. Therefore I am going to ask it here only. Is there any way to print the label items in a stack as in vertical alignment. Right now I get all the values printed in the horizontal fashion.


I guess you need to set layout for your frame, f.ex: frame.setLayout(new FlowLayout());.


Your frame isn't adapting to the new group of elements- the LayoutManager isn't getting a chance to resize the window. At the end of your function, add frame.pack().


You should use setBounds() to define the size of your frame and give it a LayoutManager of your choice.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜