2

我在让空布局管理器工作时遇到问题,我发现这个很棒的页面包含使用空布局管理器时要记住的事情。其中之一是我的问题,我很快就继续前进。

我现在在使用空布局管理器的另一个面板上遇到了类似的问题。但是,我无法在任何地方找到此页面!那么是什么东西呢?

在问这个问题的过程中,我发现了我的问题。我仍然想将这些知识添加到该站点,因为我在任何地方都找不到这个问题。它可能对其他人有帮助。

澄清一下,由于拖动和动画的要求,我已经确定我需要为此面板使用空布局管理器。那不是问题。

4

2 回答 2

1

我找到了我正在寻找的链接:

http://download.oracle.com/javase/tutorial/uiswing/layout/none.html

它给出了这三件事:

  • 通过调用将容器的布局管理器设置为空Container.setLayout(null)
  • 调用Component.setBounds()每个容器的孩子。
  • 称呼Component.repaint()

不过,碰巧的是,我的问题是我没有做另外一件事:

  • 使用将每个组件添加到容器中Container.add(Component)
于 2010-08-22T19:20:16.587 回答
1

无论您使用空布局还是 LayoutManager,都需要将组件添加到容器中。

我认为在使用空布局时需要记住的 3 件事是:

  1. 设置组件的大小(通常是首选大小)

  2. 设置组件的位置

  3. 设置包含组件的 Container 的首选大小。大多数情况下,如果您不设置首选大小,您的代码将起作用,但尝试将面板添加到滚动窗格,它不会起作用。原因是当 Container 的首选大小大于滚动窗格的大小时,滚动条会自动出现。对于空布局,首选大小为 0。

于 2010-08-22T19:39:31.283 回答