隐藏表单字段并在Swing UI中相应地重新对齐其他表单字段

时间:2017-05-22 15:20:10

标签: java forms swing

我正在尝试设计一个用户界面。我在面板中有多个文本字段。我有一个combobox,根据其值,我必须决定是否显示特定字段。检查下面的图像

选择是时:

On selecting Yes

选择否时:

On selecting No

我有多个这样的字段,我必须隐藏/显示,具体取决于其他表单字段的某些值。我知道如何隐藏组件,但我不确定如何重新调整所有组件。

在Swing中执行此操作的最佳方法是什么?我可以使用任何特定的layout来实现这一目标吗?

1 个答案:

答案 0 :(得分:2)

这里没有答案:我建议不要这样做。

你看,当你使用“相同”面板时,我建议只禁用/启用你不使用的元素。含义:对于用户来说,如果元素出现/消失将会非常混乱。

当你的“面板”代表完全不同的“方面”时,情况就不同了;但是我仍然会使用不同的面板对象并交换完整的面板。

换句话说:从用户体验的角度来看,你想避免过多的“流失”;因此我建议确保您的UI元素保持不变。作为用户,您希望UI元素“移动”,因为某些输入字段会消失,因此所有其他内容都会重新对齐。

如果你仍然认为你需要这样的功能;评论给出了很好的暗示;作为CardLayout

  

CardLayout类管理共享相同显示空间的两个或多个组件(通常是JPanel实例)。使用CardLayout类时,让用户使用组合框在组件之间进行选择。