gpt4 book ai didi

java - 你能在 CardLayout 上放置 SpringLayout "esque"约束吗?

转载 作者:行者123 更新时间:2023-12-01 21:52:58 24 4
gpt4 key购买 nike

我有一个卡片布局,可以使用 JComboBox 在面板之间切换。问题是当我重新调整窗口大小时,我里面的面板永远不会改变大小。当我使用 SpringLayout 时,我只需告诉某些东西与边框保持 x 像素的距离,它就会重新调整自身大小。我如何在 CardLayout 中模仿它?

最佳答案

When ever I would use SpringLayout I could just tell something to stay x pixels away from the border

您可以将 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 像素的边框。您还可以将边框添加到各个卡片面板。阅读 Swing 教程中关于 How to Use Borders 的部分了解更多信息和工作示例。

... and it would re-size itself. How could I mimic that in CardLayout?How could I mimic that in CardLayout?

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

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

关于java - 你能在 CardLayout 上放置 SpringLayout "esque"约束吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34869692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com