【问题标题】:What are the things you have to do to make a panel work with a null layout manager?要使面板与空布局管理器一起工作,您必须做些什么?
【发布时间】:2010-08-22 19:17:28
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java swing null-layout-manager


    【解决方案1】:

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

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

    它给出了这三样东西:

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

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

    • 使用Container.add(Component)将每个组件添加到容器中

    【讨论】:

    • 我没有将组件添加到容器中。
    【解决方案2】:

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

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

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

    2. 设置组件的位置

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 2013-01-20
      • 2020-06-27
      相关资源
      最近更新 更多