我想編寫我的程序,以便我的JFrame上的所有組件都具有一致的配色方案。爲了做到這一點,我想用Java的for-each循環來影響同一類型的每個組件。我已經嘗試過爲JPanel着色,但它沒有任何影響。Java - 選擇所有類型的GUI組件
public void colourGUI()
{
for (Component comp : this.getComponents())
{
if (comp instanceof JPanel)
{
((JPanel) comp).setOpaque(true);
comp.setBackground(Color.gray);
}
}
}
我會想象這會工作,但是當我加載應用程序它沒有影響。 我對Java很新,我以前使用C#作爲這樣的程序,我會使用C#的OfType<>
方法。我希望Java會有一些相同的東西,但我還沒有找到任何東西。
任何人都可以指出我正確的方向來完成我期待的目標嗎?我想我錯過了一些非常明顯的東西!
謝謝, 馬克
難道你沒有使用'repaint()'和'revalidate()'? – Dan
嗨,就像我說我不太熟悉Java的方法。我什麼時候需要使用這些? @丹 – marcuthh
我剛發佈了一個答案。如果它不起作用,請發表評論 – Dan