我很擅长摇摆,我对布局管理器有疑问。当我使用setLayout()为单个容器放置布局管理器时,我没有任何问题。例如:
JPanel oneContainer = new JPanel();
oneContainer.setLayout(new GridBagLayout());
这很好用。
我想要做的是在ArrayList中为ever容器设置一个特定的布局管理器。 如果没有循环遍历每个元素,有没有办法做到这一点。
示例:
ArrayList<JPanel> multipleContainers = new ArrayList<>();
multipleContainers.setLayout(new GridBagLayout());
(或类似的东西,你明白了,我知道所提供的代码显然是错误的,我也意识到要为单个ArrayList元素设置布局管理器,我只想添加&#34; multipleContainers&#34;)TIA
之后的.get(num)答案 0 :(得分:2)
抱歉!你只需要把它搞砸就行了。:)实际上,对于每个循环来说并不是那么难:
for (JPanel p : multipleContainers)
p.setLayout(new GridBagLayout());
或者,正如你已经猜测的那样,那是老式的方式:
for (int i = 0; i < multipleContainers.size(); ++i)
multipleContainers.get(i).setLayout(new GridBagLayout());
答案 1 :(得分:0)
我注意到multipleContainers的类型是ArrayList,而不是JPanel。所以setLayout()在这里不起作用。
如果你想setLayout()有效,你需要迭代ArrayList来获取面板。