我是新手,我对布局管理器有疑问。当我使用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());

09-28 04:46