如何解决Java网格布局顺序
我有3个切换按钮,它们可以打开/关闭网格布局中的三个面板,我们称它们为面板A,B和C。
我想要实现的是,无论我按什么顺序打开面板,它们都将按顺序结束(A B C)。现在,我只使用add()
将该项目添加到末尾,这意味着它们以与单击按钮相同的顺序结束。
我将根据活动的按钮数来使用正确的行数和列数更新网格布局
当我使用的索引超过行数或列数时,在A,B和C面板上使用add(jPanel,n)
(其中n为0、1、2)会抛出非法的组件位置异常
解决方法
可以为每个切换按钮共享ActionListener。
代码类似于:
- 从父面板中删除所有面板
- 反复浏览所有切换按钮,并为每个选定的切换按钮添加回到面板的最后
- revalidate()主面板
- repaint()主面板
仅当对用户执行revalidate()/ repaint()不会注意到从头开始删除所有面板的任何效果时,才会删除/添加面板。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。