在Java中的滚动面板中,无法向面板添加组件。

4

我在Java桌面应用程序中工作。 我放置了一个滚动窗格并将一个面板放在其中,以添加一个名为 name 的标签,一个空TextField和一个名为 more 的按钮。 当单击按钮时,我希望新的Label和TextField将出现在第一个Label和TextField下方,但是什么都没有出现。这是我的按钮代码:

private void moreActionPerformed(java.awt.event.ActionEvent evt) {                                     
    JLabel nameLabel = new JLabel("Name :");
    JPanel panel = new JPanel();
    i++;
    nameLabel.setBounds(
      child_namelabel.getX(), child_namelabel.getY() + 35 * i,
      child_namelabel.getWidth(), child_namelabel.getHeight());
    panel.add(nameLabel);
    children.add(panel);

}   
1个回答

0

来自Java-Api:

This method changes layout-related information, and therefore, invalidates the component hierarchy.
If the container has already been displayed, the hierarchy must be validated thereafter in order to
display the added component.

所以你调用:

children.validate();

在你的方法末尾。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接