Skip to content

Instantly share code, notes, and snippets.

@Sciss
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sciss/9154688 to your computer and use it in GitHub Desktop.
Save Sciss/9154688 to your computer and use it in GitHub Desktop.
import javax.swing._
val f = new JFrame
val p = f.getContentPane.asInstanceOf[JComponent]
p.addKeyListener {
new java.awt.event.KeyAdapter {
override def keyPressed (e: java.awt.event.KeyEvent): Unit = println(e)
override def keyReleased(e: java.awt.event.KeyEvent): Unit = println(e)
override def keyTyped (e: java.awt.event.KeyEvent): Unit = println(e)
}
}
f.setSize(200, 200)
f.setVisible(true)
p.requestFocus()
@Sciss
Copy link
Author

Sciss commented Mar 5, 2014

import javax.swing._
import java.awt.event.{InputEvent, KeyEvent}
val f = new JFrame
val p = new JPanel(new java.awt.GridLayout(3,1))
f.setContentPane(p)
val ls = Array.fill(3)(new JLabel("-"))
ls.foreach(p.add)
p.addKeyListener {
  new java.awt.event.KeyAdapter {
    def apply(i: Int, e: KeyEvent): Unit = 
      ls(i).setText(InputEvent.getModifiersExText(e.getModifiersEx))
    override def keyPressed (e: KeyEvent): Unit = apply(0, e)
    override def keyReleased(e: KeyEvent): Unit = apply(1, e)
    override def keyTyped   (e: KeyEvent): Unit = apply(2, e)
  }
}
f.setSize(200, 200)
f.setVisible(true)
p.requestFocus()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment