我们正在为学校制作一个小游戏,但是我的小组遇到了一些麻烦。我们使用Null布局管理器构建我们的应用程序,并将每个元素放在绝对位置。现在我们遇到了一些我们无法解决的问题。
一旦我们启动应用程序它看起来很好,但是同样调用最小化应用程序并恢复它我们所有的元素 - 看起来像 - 他们的位置被删除。当我们调用removeAll()后跟Revalidate()时也会发生这种情况。
我列出了一些截图,以澄清我在说什么。这里有谁可以帮助我们吗?
App在启动时正常运行:http://s8.postimg.org/erobuux51/app_startup.jpg
应用程序在最小化后失败:http://s30.postimg.org/nc4tosaup/app_failed.jpg
答案 0 :(得分:2)
没有任何代码,我所能做的只是指向Oracle的Swing A Visual Guide to Layout Managers
也许Oracle可以帮助你。花一点时间(几个月)学习本教程。
根据您的评论。您应该从不在具有Swing元素的JPanel上执行removeAll。您应该几乎从不在带有JPanel的JPanel上执行removeAll。这是Oracle的Creating a GUI With JFC/Swing。
也许Oracle可以帮助你。
最后,这是我写的一篇文章,向您展示如何将Oracle解释的所有内容放在一起。 Hangman Swing GUI
答案 1 :(得分:-1)
null布局可能被大多数Java Swing开发人员讨厌,但它不应该是程序失败的原因。只需使用空布局+最小化框架不应导致组件重新定位。我认为你必须犯下其他一些导致这个问题的错误。