动态 UI 生成 - Java [关闭]
Posted
技术标签:
【中文标题】动态 UI 生成 - Java [关闭]【英文标题】:Dynamic UI Generation - Java [closed] 【发布时间】:2012-02-06 18:26:12 【问题描述】:嗨,
我有一个必须动态生成 UI 的要求。请看上图。第 1 步包括一个带有 jcombobox 和 jbutton 的对话框。当我在第 1 步中单击“+”按钮时,应将新行动态添加到 jdialog,如第 2 步所示。同样,可以使用“+”按钮添加更多行。按“-”按钮应删除该行。此外,必要时 JDialog 应该有一个垂直滚动条。我一直在尝试网格布局,但无济于事。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:试试这个link,了解如何在运行时添加组件,this thread 有一个在运行时添加/删除 jbuttons 的示例
【讨论】:
好的。我正在添加组件,但没有分别在对话框和框架上调用 validate 和 revalidate 方法。第一个链接成功了。谢谢 O.D【参考方案2】:我猜你的 UI 应该使用 JScrollPane 以便在必要时能够滚动... 我不明白为什么 GridLayout 不可用,你的错误是什么?您是否在代码中进行了正确的导入? 你能不能给我们更多的细节
杰罗姆
【讨论】:
应该为 cmets 保存猜测和问题。 它是可用的,但是正在添加的新组件被挤压到面板区域并且面板尺寸没有增加。 validate 和 revalidate 方法成功了。【参考方案3】:您从一开始就需要JScrollPane
。幸运的是,JScrollPane
允许在(不需要)需要时自动显示/隐藏滚动条。请参阅JScrollPane#set*ScrollBarPolicy
。
对于您的面板,您必须使用允许动态添加组件的布局,例如FlowLayout
。也可以用于这种情况的非核心 Java 布局是带有动态行构建器的 JGoodies FormLayout
。这个FormLayout
将很容易地允许在您的屏幕截图中保留这些列,同时允许在运行时动态添加行。
【讨论】:
以上是关于动态 UI 生成 - Java [关闭]的主要内容,如果未能解决你的问题,请参考以下文章