开发游戏已有一段时间,目前正在研究 GUI,或者至少正在尝试。有无法调整框架大小(没有问题)的大问题,因为我不太了解布局管理器。几个项目之后,是时候回来对游戏做更多的事情了,我遇到了一个问题......
主框架的基本布局是,mainPane,包含一个gameScrollPane和一个controlPanel。滚动 Pane 是滚动 Pane ,控制面板是普通面板。滚动 Pane 包含主游戏面板。
由于我希望滚动 Pane 占据大部分屏幕,而控制面板占据较小的下方区域,与许多类似模拟人生的游戏非常相似,因此为 mainPane 选择了边框布局。我添加了滚动 Pane 并设置了约束中心,并添加了控制面板和约束南。这没有显示滚动 Pane ,所以我尝试了不同的约束,似乎只有当我将滚动 Pane 约束设置为 North 时,它才会显示。
为了演示这一点,我制作了一个快速视频... http://screenjel.ly/q5RjczwZjH8
如您所见,当我将 NORTH 的值更改为 CENTER 并重新运行时,它就像不存在一样!
任何能够清楚地看到第二个问题的人都会得到加分,在这个问题解决后我可能会开始另一个问题!
感谢您花时间阅读本文。
提前感谢您的任何想法或想法:)
相对
最佳答案
如果您一开始就发布了一些代码,那么您可能很快就会得到答案。幸运的是,您在评论中发布了指向其他回复的链接。
setContentPane() 的东西很奇怪,尤其是在对它做了一些事情之后会被清除掉。但是,这不是您的问题。
问题是您在没有任何限制的情况下将 levelMaker 和 personMover 直接添加到 mainPane。然后这些将吹走您为 CENTER 设置的任何内容...在本例中是之前设置的 gameScrollPane。
这就是为什么您会在 NORTH 而不是 CENTER 看到它。
关于java - JScrollPane 不显示 BorderLayout 约束是否为 CENTER?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2003030/