Erro ao consumir evento de focusLost - consume() has protected access in AWTEvent

0 respostas
mateusviccari

Tenho o seguinte código:

getEditor().getEditorComponent().addFocusListener(new FocusAdapter() {
            @Override
            public void focusLost(FocusEvent e) {
                e.consume();
                setSelectedItem(getItemAt(0));
                super.focusLost(e);
            }
        });

que serve pra detectar a perda de foco de um componente, e antes de perder o foco, fazer um procedimento.
Porém ele da esse erro consume() has protected access in AWTEvent no e.consume().

Já tentei fazer via reflection dessa forma:

try { Class classePai=AWTEvent.class; Method consume = classePai.getDeclaredMethod("consume"); consume.setAccessible(true); consume.invoke(e); } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { Logger.getLogger(ComboBoxChaveadoFiltro.class.getName()).log(Level.SEVERE, null, ex); }
Ele não gera erro, executa normalmente porém não consome realmente o método.
Alguma solução?

Criado 6 de setembro de 2012
Respostas 0
Participantes 1