Java JPanel子类忽略添加组件的边界

时间:2013-11-30 01:49:04

标签: java swing jpanel

我有一个JPanel的子类,我正在尝试向

添加标签
for(int i = 0; i < 10; i++)
{
        JLabel lblPID = new JLabel("" + i);
        lblPID.setBounds(55, i * 50, 15, 15);
        this.add(lblPID);
}

但是当它运行时,标签在相同的y点水平排列,忽略我设置的界限。如何让面板按照它们应该出现的方式垂直放置?

1 个答案:

答案 0 :(得分:2)

可能的问题是,您要添加标签的容器是使用布局管理器,这使得它自己决定如何布置标签。

您应该避免使用setBounds,因为您无法保证标签在不同的计算机上呈现相同,即使它们运行相同的操作系统。相反,您应该使用适当的布局管理器,为您做出这些决定。

请查看Laying out Components within a Container了解详情