LAB ACTIVITY 3J
EVENT HANDLING
EVENT HANDLING
Learning Outcomes
By the end of this lab, students should be able to :
Write Java programs using Event Handling
Write Java programs using Event Handling with GUI Components
Hardware/ Software : Personal Computer, Java Development Kit version X.x.x., NetBeans IDE 12.0
LAB ACTIVITY 3J
Activity Outcome: Student know how to create event handling program for KeyEvent.
CREATE New Project name as KeyDemo
i. Type the following code:
package keydemo;
import java.awt.*;
import javax.swing.*;
public class KeyDemo extends JFrame{
private String line1 = "", line2 = "", line3 = "";
private JTextArea textArea;
public KeyDemo()
{
super("Demonstrating Keystroke Events");
textArea = new JTextArea(10, 15);
textArea.setText("Press any key on the keyboard...");
textArea.setEnabled(false);
textArea.setDisabledTextColor(Color.BLACK);
getContentPane().add(textArea);
setSize(400, 100);
setVisible(true);
}
public static void main(String args[]){
KeyDemo application = new KeyDemo();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
ii. Declaration of the event handler class
a) Add package java.awt.event.*;
b) implements KeyListener
c) addKeyListener(this);
example image:
iii. Create event for KeyEvent
public void keyPressed(KeyEvent event)
{
line1 = "Key pressed: " + event.getKeyText(event.getKeyCode());
setLines2and3(event);
}
public void keyReleased(KeyEvent event)
{
line1 = "Key released: " + event.getKeyText(event.getKeyCode());
setLines2and3(event);
}
public void keyTyped(KeyEvent event)
{
line1 = "Key typed: " + event.getKeyText(event.getKeyCode());
setLines2and3(event);
}
private void setLines2and3(KeyEvent event)
{
line2 = "This key is " + (event.isActionKey() ? "" : "not" ) + "an action key";
String temp = event.getKeyModifiersText(event.getModifiers() );
line3 = "Modifiers key pressed: " + (temp.equals( "" ) ? "none" : temp);
textArea.setText(line1 + "\n" + line2 + "\n" + line3 + "\n" );
}
example image:
FULL CODE & EXAMPLE GUI OUTPUT :
package keydemo;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class KeyDemo extends JFrame implements KeyListener{
private String line1 = "", line2 = "", line3 = "";
private JTextArea textArea;
public KeyDemo()
{
super("Demonstrating Keystroke Events");
textArea = new JTextArea(10, 15);
textArea.setText("Press any key on the keyboard...");
textArea.setEnabled(false);
textArea.setDisabledTextColor(Color.BLACK);
getContentPane().add(textArea);
addKeyListener(this);
setSize(400, 100);
setVisible(true);
}
public void keyPressed(KeyEvent event)
{
line1 = "Key pressed: " + event.getKeyText(event.getKeyCode());
setLines2and3(event);
}
public void keyReleased(KeyEvent event)
{
line1 = "Key released: " + event.getKeyText(event.getKeyCode());
setLines2and3(event);
}
public void keyTyped(KeyEvent event)
{
line1 = "Key typed: " + event.getKeyText(event.getKeyCode());
setLines2and3(event);
}
private void setLines2and3(KeyEvent event)
{
line2 = "This key is " + (event.isActionKey() ? "" : "not" ) + "an action key";
String temp = event.getKeyModifiersText(event.getModifiers() );
line3 = "Modifiers key pressed: " + (temp.equals( "" ) ? "none" : temp);
textArea.setText(line1 + "\n" + line2 + "\n" + line3 + "\n" );
}
public static void main(String args[]){
KeyDemo application = new KeyDemo();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
OUTPUT : (Type any key on your KeyBoard to show an output at TextArea)