A classe é meio grande, acho que fica inviável colar aqui. Mas basicamente, eu criei os JLabes pelo GUI Editor do Netbeans.
Aí coloquei o código que eu postei acima:
private JLabel[] lChaves = {chaveA, chaveB, chaveC, chaveD, chaveE, chaveF, chaveG, chaveH};
O Erro gerado é o seguinte:
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - illegal forward reference
at controlerhino.rhinoGui.<init>(rhinoGui.java:29)
at controlerhino.Main$1.run(Main.java:11)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Para ficar mais claro. EU criei cada um desses JLabels com uma imagem (off.png). Eu faço uma leitura da porta serial, pra saber o estado dessas chaves (on/off). Isso me retorna uma array de boolean.
Pretendo num for, verificar o boolean e trocar a imagem de acordo com o estado: on.png- true / off.png - false.