Problema com Listener

Boa tarde

Estou tentando resolver um problema no form, ele tem mais de 900 labels…

na 425 ta dando erro, se eu exclui-la o erro passa para a 426, e provavelmente assim vai

(mas no código anterior, qdo era 600 nao havia problema)

atuamente aparece o erro:
Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: Listener View.HerosScreen$10@1711223 is not of type interface java.awt.event.ItemListener
at java.desktop/javax.swing.event.EventListenerList.add(EventListenerList.java:202)
at java.desktop/javax.swing.AbstractButton.addItemListener(AbstractButton.java:2079)
at View.HerosScreen.initComponents(HerosScreen.java:4041)
at View.HerosScreen.(HerosScreen.java:5778)
at View.StartScreen.lambda$btnLoadActionPerformed$0(StartScreen.java:3775)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

a parte do código é essa:
lbl425.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
lbl425.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
lbl1MouseClicked(evt);
}
});

obs.: todas as 900 labels estão com o mesmo método

Oq isso quer dizer?

“Ouvinte View.Heros[…] não é do tipo interface java.awt.event.ItemListener”.

Está parecendo erro de importação, mas é temerário dizer algo sem o código. Poste o código em que esse erro é lançado para que possamos analisar.

Aqui a classe e form : LoadSet.form (932,7,KB) LoadSet.java (958,7,KB)

eu refiz a classe toda, agora a classe nem é localizada…

aí eu tentei buildar e nao dá certo, diz q o initcomponents é grande demais(e eu achei q ele realmente tem um limite)
e eu preciso das 900 labels, oq fazer entao?

O que são essas labels?

Para exibir personagens de um jogo (essa é uma versão anterior do programa)

Você provavelmente consegue se livrar desse código gigante utilizando uma lista e iterando por ela.

Um termo novo pra mim, iterar… pesquisando muito sobre isso me deu umas idéias e consegui reduzir o código pra isso, muito obrigado pela ajuda!

int total = HeroList.length;
        for (int i = 1; i <= total; i++) {
            JLabel label = new JLabel();
            label.setName("lbl" + i);
            label.setBorder(new LineBorder(new Color(0, 0, 0), 1, true));
            int x = (((i-1)%5) * 75+5)+5*((i-1)%5);
            int y = ((i-1)/5*75+5)+5*((i-1)/5);
            label.setBounds(x, y, 75, 75);
            label.addMouseListener(new MouseAdapter() {

                @Override
                public void mouseClicked(MouseEvent e) {
                    System.out.println(label.getName()+", X = "+x+", Y = "+y);//só testando se tá certo
                }

            });
            lbls.add(label);
            labels[i] = label;
        }

Obs.: o nro de linhas foi de 15967 pra 3006 :joy::joy::sweat_smile::sweat_smile:

Boa :grinning:

Dá para reduzir mais:
A lista de heróis poderia ser carregada de um arquivo. (Só iterar pelo arquivo tbm)