我正在尝试设计一个用户界面。我在面板中有多个文本字段。我有一个combobox
,根据其值,我必须决定是否显示特定字段。检查下面的图像
选择是时:
选择否时:
我有多个这样的字段,我必须隐藏/显示,具体取决于其他表单字段的某些值。我知道如何隐藏组件,但我不确定如何重新调整所有组件。
在Swing中执行此操作的最佳方法是什么?我可以使用任何特定的layout
来实现这一目标吗?
答案 0 :(得分:2)
这里没有答案:我建议不要这样做。
你看,当你使用“相同”面板时,我建议只禁用/启用你不使用的元素。含义:对于用户来说,如果元素出现/消失将会非常混乱。
当你的“面板”代表完全不同的“方面”时,情况就不同了;但是我仍然会使用不同的面板对象并交换完整的面板。
换句话说:从用户体验的角度来看,你想避免过多的“流失”;因此我建议确保您的UI元素保持不变。作为用户,您不希望UI元素“移动”,因为某些输入字段会消失,因此所有其他内容都会重新对齐。
如果你仍然认为你需要这样的功能;评论给出了很好的暗示;作为CardLayout:
CardLayout类管理共享相同显示空间的两个或多个组件(通常是JPanel实例)。使用CardLayout类时,让用户使用组合框在组件之间进行选择。