Java 是否可以同时将所有JPAN设置为相同的背景色?

Java 是否可以同时将所有JPAN设置为相同的背景色?,java,swing,Java,Swing,我在做一个小游戏。我知道如何设置JPanel的背景色 pane.setBackground(Color.RED); 我的问题是,我有一个边界窗格作为布局,如果我想在南方放置一些东西,我需要创建一个新的JPane。对于我创建的每个窗格,我需要再次设置背景色。我的问题是,是否可以一次设置每个窗格的背景色?您可以始终将主容器的颜色设置为红色,然后使用setOpaque(false)使所有窗格透明 除了安提奥斯斯的好主意,你还可以做以下两件事之一: 通常,任何UI容器都知道其子容器。因此,您可以编写

我在做一个小游戏。我知道如何设置JPanel的背景色

pane.setBackground(Color.RED);

我的问题是,我有一个边界窗格作为布局,如果我想在南方放置一些东西,我需要创建一个新的JPane。对于我创建的每个窗格,我需要再次设置背景色。我的问题是,是否可以一次设置每个窗格的背景色?

您可以始终将主容器的颜色设置为红色,然后使用
setOpaque(false)
使所有窗格透明

除了安提奥斯斯的好主意,你还可以做以下两件事之一:

  • 通常,任何UI容器都知道其子容器。因此,您可以编写一些通用代码(可能是递归的)获取某些UI组件的子级,如果是JPanel,则设置背景
  • 可能更容易做到:您的代码只需记住您关心的所有JPanel即可
换句话说:当您想以类似的方式处理许多“事物”时,最简单的解决方案就是有一个字段

Set<JPanel> myPanels = new HashSet<>();

这是一个好主意,感谢您为另一个答案留下一些“空间”;-)我很感激你能很快接受。。。顺便说一句,欢迎加入投票级别;-)
for(JPanel aPanel : myPanels) { aPanel.setBackground(...