如何在不改变其他元素位置的情况下使组件不可见

Іга*_*шка 3 java swing jpanel jbutton gridbaglayout

有两个按钮:"下一步"和"后退"以传递列表.当到达结束时,按钮"下一步"消失,但按钮"后退"不应该跳到她的位置.我使用了setVisible (false),但按钮'Back'跳转到"Next"的位置.位置管理器是GridBagLayout.

And*_*son 5

我用 setVisible (false)

试试吧setEnabled(false).它不会删除按钮的可视化表示,这会修复布局,但会使其不可聚焦并且看起来不同.这是典型最终用户的"最少惊喜之路".


位置管理器是GridBagLayout.

顺便说一句 - 如果你坚持让按钮不可见,那么GridLayout就可以达到保留其他按钮位置的效果.