【问题标题】:How to integrate different layout managers to fit this?如何集成不同的布局管理器来适应这个?
【发布时间】:2012-02-05 03:29:00
【问题描述】:

我假设我必须使用 GridLayout(1,2),并为第一侧分配 null,第二侧分配 JTextArea。

不过,对于左侧,我不确定该怎么做。也许可能是 BoxLayout?

【问题讨论】:

    标签: java swing layout-manager


    【解决方案1】:

    我倾向于在 LHS 中添加 BorderLayout

    • 将标签放入WEST
    • 将文本区域(应该是真正的文本字段)放在CENTEREAST
    • SOUTH 中,为按钮放置一个居中的FlowLayout 面板。

    这实际上取决于您希望在用户扩展 GUI 的情况下如何分配额外空间。 GUI 是否可调整大小?

    【讨论】:

    • 不,它不可调整大小,因为它的 setSize 为 (500,200)。这就是我试图做的。将 LHS 设置为 null 可行吗?
    • “将 LHS 设置为 null 可行吗?” 不,不是。有关该主题的更多信息,请参阅setLayout(null) is never necessary. Ever!。为什么要为“宠物类型”使用文本区域?
    • 我的意思是一个 JTextField。 JTextArea 用于右侧的宠物列表。我还听说 JList 是显示 Vector 的好方法(这是该程序中使用的),但不确定是否是最好的方法。想法?
    • “我还听说 JList 是显示 Vector 的好方法” 除其他外,是的。它是显示集合或 ..lists 的绝佳组件。绝对比在 RHS 中使用 JTextArea 更合适。
    【解决方案2】:

    我将只使用一个 MigLayout 并完成它。有一点学习曲线(虽然真的不多),您将能够非常轻松地完成这类事情,并且无需嵌套布局。

    【讨论】:

    • 虽然 Mig 目前也是我个人最喜欢的,但在这种情况下它可能不是一个选择:家庭作业通常不允许第三方框架 :-)
    • @kleopatra Huh.. 我回答时没有注意到“作业”标签(并不是说它会改变我的回复;)。但我会为这个建议 +1。
    • @kleopatra - 是的 - 好点。这些天他们在学校教孩子什么...?!?
    猜你喜欢
    • 1970-01-01
    • 2018-12-05
    • 2016-02-08
    • 2013-04-29
    • 1970-01-01
    • 2013-10-08
    • 2011-09-14
    • 2014-08-10
    • 1970-01-01
    相关资源
    最近更新 更多