KONSEP DASAR
PENGERTIAN
- Event Object merupakan object yang mendiskripsikan sebuah event yang di-trigger oleh event source.
- Event Handler merupakan method yang menerima event object dan melakukan respond yang sesuai dengan event object tersebut.
- Event Listener merupakan interface yang akan meng-handle event yang terjadi. setiap type event mempunyai interface yang bersesuaian. Listener tersebut harus diimplementasikan oleh class yang akan meng-handle event
- Event Source merupakan pembangkit / trigger sebuah event objects
berikut ini type type event yang ada di Java :
- ActionEvent
- ItemEvent
- WindowEvent
- ContainerEvent
- ComponentEvent
- FocusEvent
- TextEvent
- KeyEvent
- MouseEvent
- AdjustmentEvent
- ActionListener
- ItemListener
- WindowListener
- ContainerListener
- ComponentListener
- FocusListener
- TextListener
- KeyListener
- MouseListener
- MouseMotionListener
- AdjustmentListener
Bagaimana event handling dalam Java? ada tiga langkah penting dalam event handling
- Deklarasikan class yang akan meng-handle event yang terjadi dan tuliskan code yang menyatakan class tersebut meng-implement interface listener
- Event source mendaftarkan sebuah listener melalui method add<type>Listener
- Kode yang mengimplementasikan method pada interface listener pada class yang akan meng-handle event. [ Override ]
CONTOH SINTAK
MouseEventsDemo.javapackage mouseeventsdemo;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author yosian */
public class MouseEventsDemo extends Frame implements MouseListener, MouseMotionListener { // Langkah 1
TextField tf;
public MouseEventsDemo( String title){
super(title);
tf = new TextField(60);
addMouseListener(this); // Langkah 2
}
public void launchFrame() {
/* Menambah komponen pada frame */
add(tf, BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
public void mouseClicked(MouseEvent me) { // Langkah 3
String msg = “Mouse clicked.”;
tf.setText(msg);
}
public void mouseEntered(MouseEvent me) {
String msg = “Mouse entered component.”;
tf.setText(msg);
}
public void mouseExited(MouseEvent me) {
String msg = “Mouse exited component.”;
tf.setText(msg);
}
public void mousePressed(MouseEvent me) {
String msg = “Mouse pressed.”;
tf.setText(msg);
}
public void mouseReleased(MouseEvent me) {
String msg = “Mouse released.”;
tf.setText(msg);
}
public void mouseDragged(MouseEvent me) {
String msg = “Mouse dragged at ” + me.getX()
+ “,” + me.getY();
tf.setText(msg);
}
public void mouseMoved(MouseEvent me) {
String msg = “Mouse moved at ” + me.getX()
+ “,” + me.getY();
tf.setText(msg);
}
}
main.java
package mouseeventsdemo;
/**
*
* @author yosian */
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
MouseEventsDemo med = new MouseEventsDemo(“Mouse Events Demo”);
med.launchFrame();
}
INNER CLASS
Inner Class adalah suatu Class yang didefinisikan di dalam Class lain. Dengan kata lain, Inner Class adalah anggota (member) dari Class lain, sama halnya seperti variable dan method. Hal ini mengakibatkan instance dari Inner Class dapat mengakses /berbagi dengan instance dari outer Class-nya. Instance dari Inner Class dapat mengakses semua member dari outer Class-nya, bahkan yang private.
Ok, Sekarang saya akan mencoba menjelaskan Inner Class yang regular (Inner Class yang biasa). Regular di sini maksudnya adalah bukan static, method-local, atau anonymous. Coba perhatikan Class berikut:
class MyOuter{
private int x = 7;
class MyInner {
public void seeOuter(){
System.out.println(“Outer x is ” + x);
}
}
}
Walaupun variabel x dari class MyOuter adalah private, MyInner tetap bisa mengaksesnya. Ini salah satu kelebihan dari Inner Class.
Run the program as the follows.
Java CmdLnArgmntExp arg1 arg2 arg3 arg4
Output:
INI ARGUMENT CLASS !!
This sample code prints all the command line arguments to the console. public class CmdLnArgmntExp { |
Java CmdLnArgmntExp arg1 arg2 arg3 arg4
Output:
arg1 arg2 arg3 arg4
sumber : http://www.java-tips.org/java-se-tips/java.lang/how-to-pass-command-line-argument-in-a-java-pr.html
sumber : ratnokustiawan.files.wordpress.com/2011/03/event-handling.pdf