In computer science an event is an action that is usually initiated outside the scope of a program and that is handled by a piece of code inside the program. GUI based programming is based on event, if you want handle event of a button in java (Applet,Swing) then you have to use ActionListener interface and implements actionPerformed funtion.We use more than one button in java program for handle each button event individually for achieve this we mustidentified each button event uniquely. You can identified button by its name or its text value, text value is not good becouse there can be same text on more than one button. Getting Button name is more usefull conside following program.....
import java.applet.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class ButtonEventDemo extends Applet implements ActionListener
{
Button bt1,bt2,bt3; Label lbl;
public void init()
{
bt1=new Button("Button1");
bt2=new Button("Button2");
bt3=new Button("Button3");
lbl=new Label("Label");
Add(bt1); Add(bt2);
Add(bt3); Add(lbl);
bt1.addActionListener(this);
bt2.addActionListener(this);
bt3.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
// String s=e.getActionCommand();
// if(s=="Button1")
// {
// lbl.setText("Clicked Button 1");
// }
// else
// {
// lbl.setText("Clicked Button 2");
// }
Object ob=e.getsource();
if(ob.equals(bt1)
lbl.setText("Clicked Button 1");
else
{
if(ob.equals(bt2)
lbl.setText("Clicked Button 2");
else
lbl.setText("Clicked Button 3");
}
}
}
String s=e.getActionCommand();
this command will set text of control which create control in s e.g. if button clicked then s will hold Button1 textso we can check control text to uniquely identified a control but its not so good because there can be same text of more than one control.
Object ob=e.getsource();
this line initialize ob with Button reference which name is bt1 if bt1 is clicked otherwise other control instanceso it is useful to uniquely identified button because button name always unique in a program .
}
String s=e.getActionCommand();
this command will set text of control which create control in s e.g. if button clicked then s will hold Button1 textso we can check control text to uniquely identified a control but its not so good because there can be same text of more than one control.
Object ob=e.getsource();
this line initialize ob with Button reference which name is bt1 if bt1 is clicked otherwise other control instanceso it is useful to uniquely identified button because button name always unique in a program .
if i want to get reference of multiple buttons,can i store it in an object array??
ReplyDeleteyes this is prettysimple
Delete