我在让空布局管理器工作时遇到问题,我发现这个很棒的页面包含使用空布局管理器时要记住的事情。其中之一是我的问题,我很快就继续前进。
我现在在使用空布局管理器的另一个面板上遇到了类似的问题。但是,我无法在任何地方找到此页面!那么是什么东西呢?
在问这个问题的过程中,我发现了我的问题。我仍然想将这些知识添加到该站点,因为我在任何地方都找不到这个问题。它可能对其他人有帮助。
澄清一下,由于拖动和动画的要求,我已经确定我需要为此面板使用空布局管理器。那不是问题。
我在让空布局管理器工作时遇到问题,我发现这个很棒的页面包含使用空布局管理器时要记住的事情。其中之一是我的问题,我很快就继续前进。
我现在在使用空布局管理器的另一个面板上遇到了类似的问题。但是,我无法在任何地方找到此页面!那么是什么东西呢?
在问这个问题的过程中,我发现了我的问题。我仍然想将这些知识添加到该站点,因为我在任何地方都找不到这个问题。它可能对其他人有帮助。
澄清一下,由于拖动和动画的要求,我已经确定我需要为此面板使用空布局管理器。那不是问题。
我找到了我正在寻找的链接:
http://download.oracle.com/javase/tutorial/uiswing/layout/none.html
它给出了这三件事:
Container.setLayout(null)
。Component.setBounds()
每个容器的孩子。Component.repaint()
不过,碰巧的是,我的问题是我没有做另外一件事:
Container.add(Component)
无论您使用空布局还是 LayoutManager,都需要将组件添加到容器中。
我认为在使用空布局时需要记住的 3 件事是:
设置组件的大小(通常是首选大小)
设置组件的位置
设置包含组件的 Container 的首选大小。大多数情况下,如果您不设置首选大小,您的代码将起作用,但尝试将面板添加到滚动窗格,它不会起作用。原因是当 Container 的首选大小大于滚动窗格的大小时,滚动条会自动出现。对于空布局,首选大小为 0。