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?