In this Java AWT Tutorial, we will learn KeyEvent and KeyListener. Here, we have a Panel the acts as Originator of the Keyboard Events and acts as listener also. This panel implements Java AWT KeyListener and handles KeyTyped, KeyReleased and KeyPressed actions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
package AwtDemoPkg; import java.awt.Dimension; import java.awt.Label; import java.awt.Panel; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; //Sample 01: Implement MouseListeners //Sample 06: Implement MouseMotionListener //Sample 08: Implement KeyListener public class MouseTestPanel extends Panel implements MouseMotionListener, MouseListener, KeyListener { //Sample 02: Ctor Label Status; boolean CtrlOn = false; boolean AltOn = false; boolean ShiftOn = false; public MouseTestPanel(Label status) { super(); this.Status = status; setPreferredSize(new Dimension(300,200)); } //Sample 07: Motion Handler @Override public void mouseDragged(MouseEvent e) { Status.setText( "Mouse Draggged. (" + e.getX() + "," + e.getY() + ")"); } @Override public void mouseMoved(MouseEvent e) { Status.setText( "Mouse Moved. (" + e.getX() + "," + e.getY() + ")"); } @Override public void mouseClicked(MouseEvent e) { //Sample 04: Check which Mouse Button Clicked //Sample 14: Use the MouseEvent to Know the Button Click String out = ""; if(e.getButton() == MouseEvent.BUTTON1) out += "Left Mouse Clicked "; if(e.getButton() == MouseEvent.BUTTON2) out += "Middle Mouse Clicked "; if(e.getButton() == MouseEvent.BUTTON3) out += "Right Mouse Clicked "; //Sample 05: Get the Location out += "@ " + e.getX() + "," + e.getY(); //Sample 13: Update the Key Status String KeyState = "with "; if (CtrlOn) KeyState += " Ctrl"; if (AltOn) KeyState += " Alt"; if (ShiftOn) KeyState += " Shift"; if (CtrlOn || AltOn || ShiftOn ) out += KeyState + " Key Pressed"; Status.setText(out); } @Override public void mousePressed(MouseEvent e) { Status.setText("Mouse Pressed"); } @Override public void mouseReleased(MouseEvent e) { Status.setText("Mouse Released"); } @Override public void mouseEntered(MouseEvent e) { Status.setText("Mouse Entered"); } @Override public void mouseExited(MouseEvent e) { Status.setText("Mouse Exits"); } @Override public void keyTyped(KeyEvent e) { //Sample 10: Updated Typed Char String out = Status.getText(); out += " " + e.getKeyChar(); Status.setText(out); } @Override public void keyPressed(KeyEvent e) { //Sample 11: Set the Control Key Status int KeyCode = e.getKeyCode(); if (KeyCode == KeyEvent.VK_CONTROL) CtrlOn = true; if (KeyCode == KeyEvent.VK_ALT) AltOn = true; if (KeyCode == KeyEvent.VK_SHIFT) ShiftOn = true; } @Override public void keyReleased(KeyEvent e) { //Sample 12: Set the Control Key Status int KeyCode = e.getKeyCode(); if (KeyCode == KeyEvent.VK_CONTROL) CtrlOn = false; if (KeyCode == KeyEvent.VK_ALT) AltOn = false; if (KeyCode == KeyEvent.VK_SHIFT) ShiftOn = false; } } |
Categories: AWT-Tube