我对 Swing 很陌生,我有一个关于布局管理器的问题。当我使用 setLayout() 为单个容器放置布局管理器时,我没有任何问题。示例:
JPanel oneContainer = new JPanel();
oneContainer.setLayout(new GridBagLayout());
这很好用。
我想要做的是为 ArrayList 中的每个容器设置特定的布局管理器。 有什么方法可以做到这一点,而无需使用循环遍历每个元素。
示例:
ArrayList<JPanel> multipleContainers = new ArrayList<>();
multipleContainers.setLayout(new GridBagLayout());
(或者类似的东西,你明白了,我知道提供的代码显然是错误的,我也知道要为单个 ArrayList 元素设置布局管理器,我只需添加 .get(num )在“multipleContainers”之后)TIA
最佳答案
抱歉!你只需要忍住并以困难的方式去做就可以了:)实际上,使用 for-each 循环并不那么难:
for (JPanel p : multipleContainers)
p.setLayout(new GridBagLayout());
或者,正如您已经猜测的那样,有一种老式的方法:
for (int i = 0; i < multipleContainers.size(); ++i)
multipleContainers.get(i).setLayout(new GridBagLayout());
关于java - 为什么setLayout方法不能与JPanel的ArrayList一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44037980/