在将JPanel添加到JFrame之后,如何将JComponent添加到JPanel

时间:2012-08-04 18:25:47

标签: java swing jpanel jcomponent

一旦JPanel被实例化并添加到可见的JFrame,如何向其添加新的JComponent 更新显示以显示说新JComponent

原始问题:

  

JComponent添加到JPanel之后如何将JPanel添加到JFrame。我想我可能需要延长JPanel并可能覆盖paintComponent()

2 个答案:

答案 0 :(得分:4)

JPanel.add()应该可以正常工作。如果框架已经可见,则调用:

validate();
repaint();

此外,根据尺寸和布局,您可能需要使用pack()重新打包框架。

如果您可以在帖子SSCCE上发帖,那就更容易了。

答案 1 :(得分:1)

我不知道我是否理解了您的问题,将JComponent添加到JPanel,将其添加到JFrame之后或之后应该没有问题:< / p>

JPanel panel = new JPanel();
frame.setContentPane(panel);
// sometime later
panel.add(new JLabel("JLabel is a JComponent")); 

也许如果你发布你的代码,问题就会更清楚了。