LAB ACTIVITY 3A
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 3A
Activity Outcome: Student know how to create event handling program for text field.
CREATE New Project name as TestTextField
i. Type the following code:
ii . Create item component GUI for interface, type following code:
package testtextfield;
import java.awt.*;
import javax.swing.*;
public class TestTextField extends JFrame{
JTextField entry = new JTextField (10);
JTextField entry2 = new JTextField (10);
JTextField entry3 = new JTextField (10);
JLabel label = new JLabel ("First Number");
JLabel label1 = new JLabel ("Secomd Number");
JLabel label2 = new JLabel ("Total of two numbers");
int nom1, nom2, sum;
TestTextField(){
setTitle("Text Field Example");
setLayout(new FlowLayout());
add (label);
add (entry);
add (label1);
add (entry2);
add (label2);
add (entry3);
entry.setToolTipText("Please input first number");
entry2.setToolTipText("Please input second number");
entry3.setEditable(false);
setSize(300,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
TestTextField ttf =new TestTextField();
}
}
iii. Declaration of the event handler class
a) Add package java.awt.event.*;
b) implements ActionListener
DON'T WORRY about error line under text TestTextField. The reasons is not override abstract method actionPerformed (ActionEvent) in ActionListener. After when add actionPerformed, error line will be disappear.
iv. Registers an instance of the event handler class , add following code
entry.addActionListener(this);
entry2.addActionListener(this);
entry3.addActionListener(this);
example image:
v. Implements the methods in the listener interface.
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==entry)
nom1 = Integer.parseInt(entry.getText());
entry2.requestFocus();
if (e.getSource()==entry2)
nom2 = Integer.parseInt(entry2.getText());
sum = nom1 + nom2;
entry3.setText(String.valueOf(sum));
}
example image:
FULL CODE & EXAMPLE GUI OUTPUT :
package testtextfield;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TestTextField extends JFrame implements ActionListener{
JTextField entry = new JTextField (10);
JTextField entry2 = new JTextField (10);
JTextField entry3 = new JTextField (10);
JLabel label = new JLabel ("First Number");
JLabel label1 = new JLabel ("Secomd Number");
JLabel label2 = new JLabel ("Total of two numbers");
int nom1, nom2, sum;
TestTextField(){
setTitle("Text Field Example");
setLayout(new FlowLayout());
add (label);
add (entry);
add (label1);
add (entry2);
add (label2);
add (entry3);
entry.setToolTipText("Please input first number");
entry2.setToolTipText("Please input second number");
entry3.setEditable(false);
entry.addActionListener(this);
entry2.addActionListener(this);
entry3.addActionListener(this);
setSize(300,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
TestTextField ttf =new TestTextField();
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==entry)
nom1 = Integer.parseInt(entry.getText());
entry2.requestFocus();
if (e.getSource()==entry2)
nom2 = Integer.parseInt(entry2.getText());
sum = nom1 + nom2;
entry3.setText(String.valueOf(sum));
}
}
OUTPUT : (press key ENTER to proceed process)