Ответ 1
Из первого попадания в Google:
window.addMouseListener(object : MouseAdapter() {
override fun mouseClicked(e : MouseEvent) {
// ...
}
Применительно к вашей проблеме:
val keyListener = object : KeyAdapter() {
override fun keyPressed(keyEvent : KeyEvent) {
// ...
}
Как отметил Питер Ламберг, если анонимный класс представляет собой реализацию функционального интерфейса (т.е. не абстрактного класса), SAM Conversions можно использовать для упрощения этого утверждения:
val keyListener = KeyAdapter { keyEvent ->
// ...
}
Также обратите внимание на эту дискуссию о различном использовании интерфейсов, определенных в Java и Kotlin.