JScrollPane中没有显示,如果BorderLayout的约束是中心?
-
18-09-2019 - |
题
在开发了一会儿游戏,和目前重新工作的图形用户界面,或至少尝试。假如不能够调整框架(没有问题)的大问题,因为我不明白的布局管理得非常好。几个项目后,和时间回来,多做一些对游戏,和我打了一个问题...
在主框架的基本布局是,mainPane,含有一个gameScrollPane和一个ControlPanel控制。滚动窗格是滚动窗格,并且控制面板正常面板。滚动窗格包含主游戏面板。
因为我想滚动面板占用了屏幕的大部分,与控制面板占用了小面积低,就像游戏一样多辛,所以选择了mainPane边境布局。我添加滚动窗格和设置的约束中心与控制面板添加及制约SOUTH。这并没有显示出滚动窗格,所以我发挥各地尝试不同的限制,似乎只有当我滚动窗格约束集北,它显示在所有。
要证明这一点,我创建了一个简短的视频... http://screenjel.ly/q5RjczwZjH8
正如你所看到的,当我NORTH的值更改为中心并重新运行,就好像它不存在!
的人谁可以看到,我可以启动另一个问题,这个问题解决后一个明确的第二个问题,加分!
我感谢您抽出时间阅读本。
预先感谢任何意见或想法:)
相对
解决方案
我不能让视频显示。它已经缓冲了好半天。
我的猜测是,滚动面板实际上填充所述中心;它是不是正在显示只是你的游戏面板。
您游戏面板需要为getPreferredSize()
返回合理的值。
<强>更新强>
您可能需要做的另一件事是你的游戏板实施Scrollable
接口。然后,您可以覆盖getScrollableTracksViewportWidth
和...height
返回true
所以你的面板将被迫到滚动的尺寸。
其他提示
如果您想发布一些代码开始,那么你可能已经获得了非常快速的答案。幸运的是,你张贴在评论链接到其他响应。
在setContentPane()的东西是奇怪的,尤其是做一些东西出来,然后将得到一扫而光之后。然而,这不是你的问题。
的问题是,您要添加levelMaker和personMover权利mainPane不受任何约束。然后,这些将被吹散了什么,你的中心设置......在这种情况下,先前设定的gameScrollPane。
这就是为什么你看到它的北部,为中心。