java - JScrollPane 不显示 BorderLayout 约束是否为 CENTER?

标签 java swing jpanel jscrollpane border-layout

开发游戏已有一段时间,目前正在研究 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/

相关文章:

基于 Java 的 GUI 自动化(不限于基于 Java 的 GUI,如 Swing)

java - JSF Facelets 渲染问题

java - 将 Swing 应用程序从 Java 6 迁移到 Java 7 Update 11 时运行时内存增加

Java setBounds 不适用于 JPanel

java - Spring、JUnit、Hibernate 测试

Java 将文本环绕图像

Java 调整我的分割框大小

java - 将 JPanel 和 JScrollingPane 添加到 JFrame

java - 如何让 JPanel 中的组件尽可能地拉伸(stretch)?

java - java中如何将对象的方法和对象作为单独的线程调用?