【问题标题】:Can you put SpringLayout "esque" constraints on a CardLayout?您可以在 CardLayout 上放置 SpringLayout“esque”约束吗?
【发布时间】:2016-01-19 06:13:27
【问题描述】:

我有一个卡片布局,可以在带有 JComboBox 的面板之间切换。问题是当我重新调整窗口大小时,我的面板内部永远不会改变大小。每当我使用 SpringLayout 时,我都可以告诉一些东西让 x 像素远离边界,它会重新调整自身的大小。我怎么能在 CardLayout 中模仿呢?

【问题讨论】:

    标签: java swing layout-manager cardlayout springlayout


    【解决方案1】:

    当我使用 SpringLayout 时,我可以告诉一些东西让 x 像素远离边框

    您可以将Border 添加到用于CardLayout 的面板中。

    JPanel cards = new JPanel(new CardLayout());
    cards.setBorder( new EmptyBorder(10, 10, 10, 10) );
    cards.add(card1, "card1");
    cards.add(card2, "card2");
    

    现在每个子面板将在面板周围有一个 10 像素的边框。您还可以将边框添加到各个卡片面板。阅读 How to Use Borders 上的 Swing 教程部分,了解更多信息和工作示例。

    ... 它会重新调整自己的大小。如何在 CardLayout 中模仿?如何在 CardLayout 中模仿?

    CardLayout 仅包含其他面板。您仍然需要设置添加到卡片面板的每个面板的布局,以便调整组件的大小。

    Swing 教程还有一个关于 How to Use CardLayout 的部分,其中包含一个工作演示,显示组件位置随着框架大小的调整而变化。如果您希望组件调整大小,则需要为添加到 CardLayout 的每个面板使用不同的布局管理器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多