【问题标题】:Java Swing: Dialog with expanding / progressive disclosure?Java Swing:具有扩展/渐进披露的对话框?
【发布时间】:2010-12-28 23:48:21
【问题描述】:

我在桌面 Java Swing 应用程序中有一个对话框。

我想要的是一个经典的 Windows 风格的渐进式披露对话框,按下“更多选项”按钮会在对话框中打开一整批额外的选项。 (然后可以通过单击相同的按钮再次隐藏它,现在显示类似“隐藏”的内容。)

在 Swing 中执行此操作的正确方法是什么?

我似乎无法搜索与此直接相关的任何内容,而我的发现归结为“将首选尺寸重置为 0 并重新验证”,这不可能是正确的方法,而且导致各种古怪的事情发生。

【问题讨论】:

    标签: java swing dialog


    【解决方案1】:

    隐藏/显示可以通过向父级移除/添加子级来实现。每次删除/添加操作后,您都必须调用 parent.revalidate() parent.repaint() 以正确刷新 UI。

    【讨论】:

    • 啊哈!从父级删除它是我缺少的步骤。谢谢!
    【解决方案2】:

    听起来您想要一个用于安装软件或定义配置选项等的向导对话框。如果是这样,请检查:Creating Wizard Dialogs with Java Swing out。

    【讨论】:

    • 向导切换屏幕。我认为 OP 想要在同一屏幕上隐藏/显示组件的东西。
    • 向导 - 这个类,包括它的模型和控制器,负责外部 JDialog,以及 Next、Back 和 Cancel 按钮。它还在中心包含一个大型组件,该组件使用 AWT CardLayout 布局管理器在同一空间中“翻转”多个向导面板。将其视为向导对话框的外壳。
    • 是的,我需要让对话框能够“增长”另一个面板的内容,然后再次隐藏它;原始内容始终保持原样。
    猜你喜欢
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多