首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除JPanel中的JPanel.在JPanel内部

删除JPanel中的JPanel.在JPanel内部
EN

Stack Overflow用户
提问于 2011-12-06 14:23:02
回答 2查看 179关注 0票数 2

我正在尝试使用NetBeans在Java中创建一个类似幻灯片的应用程序。

我有一个JFrame (主窗口),里面有两个用于导航的按钮(后退和下一个)和一个JPanel (mainPanel),它是应用程序“幻灯片”的持有者。我还使用自定义JPanel (SlidePanel)对象,然后将这些对象放置在mainPanel中。其中一些SlidePanel对象的内部有JPanels。

现在,我已经能够将这些SlidePanel对象放置在mainPanel中并在其中导航(例如,如果单击next按钮,SlidePanel 1将被SlidePanel 2替换,如果单击back按钮,SlidePanel 2将被SlidePanel 1替换)。我是通过使用removeAll()revalidate()repaint()方法来做到这一点的。

问题从这里开始。第三个SlidePanel对象在其中包含一个JPanel。当您到达第三个SlidePanel时会发生什么,它运行得很好。但是从那里开始,如果单击back按钮(这会使您返回到SlidePanel 2),则来自SlidePanel 3的JPanel将保留在屏幕上,SlidePanel 2中的组件将进行调整以适应mainPanel

我该怎么做才能解决这个问题?

编辑:非常感谢所有回答的人。我在一个虚拟项目上尝试了CardLayout,它运行得很好。现在,我要做的就是把它添加到原来的那个。再次感谢。:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-06 14:28:03

我建议为此使用CardLayout,而不是在Runtime示例中添加和删除CardLayout,并与您的想法一起使用这里

票数 5
EN

Stack Overflow用户

发布于 2011-12-06 14:28:11

我建议您使用不同的布局管理器(例如CardLayout);让布局管理器担心如何处理它的组件。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8401420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档