Kamis, 14 Juni 2012
Belajar Membuat Event Listener Pada JAVA
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
public class TugasEventListener extends JFrame implements KeyListener,MenuListener,MouseListener,MouseMotionListener,ActionListener,ChangeListener,FocusListener,ItemListener,PopupMenuListener,WindowListener{
private JTextField txtContoh,txtNama,txtNama1,txtNama2,txtContoh1,txtContoh2;
private JLabel label,label1,label2,label3,label4,label5,label6,label7,label8,label9,label10;
private JMenu mFile,mEdit;
private JMenuItem miFiSave,miFiExit,miEdCopy,miEdPaste,miFiSave1,miFiExit1,miEdCopy1,miEdPaste1;
private JMenuBar mBar;
private JButton cmdTest,cmdTest1,tombol,tombol1,cmdTombol;
private JOptionPane pesan,pesan1,pesan2;
private JComboBox combo;
private JPopupMenu popup;
public TugasEventListener() {
this.label3 = new JLabel("Contoh Item Listener");
this.label3.setBounds(10,390,150,20);
this.add(this.label3);
this.label4 = new JLabel("Contoh Key Listener");
this.label4.setBounds(10,70,150,20);
this.add(this.label4);
this.label5 = new JLabel("Contoh Focus Listener");
this.label5.setBounds(10,320,150,20);
this.add(this.label5);
this.label6 = new JLabel("Contoh Menu Listener");
this.label6.setBounds(10,20,200,20);
this.add(this.label6);
this.label7 = new JLabel("Contoh Action Listener");
this.label7.setBounds(10,240,200,20);
this.add(this.label7);
this.label8 = new JLabel("Contoh Change Listener");
this.label8.setBounds(10,280,200,20);
this.add(this.label8);
this.label9 = new JLabel("Contoh Mouse Listener");
this.label9.setBounds(10,120,200,20);
this.add(this.label9);
this.label10 = new JLabel("Contoh Mouse Motion Listener");
this.label10.setBounds(10,180,200,20);
this.add(this.label10);
this.txtContoh=new JTextField("");
this.txtContoh.setBounds(10,90,200,20);
this.add(this.txtContoh);
this.label=new JLabel("");
this.label.setBounds(220,95,200,20);
this.add(this.label);
this.txtContoh.addKeyListener(this);
this.txtNama=new JTextField("");
this.txtNama.setBounds(10,50,200,20);
this.add(this.txtNama);
this.mFile = new JMenu("File");
this.miFiSave = new JMenuItem("Save As");
this.miFiExit = new JMenuItem("Exit");
this.mFile.add(this.miFiSave);
this.mFile.add(this.miFiExit);
this.mEdit = new JMenu("Edit 1");
this.miEdCopy = new JMenuItem("Copy");
this.miEdPaste = new JMenuItem("Paste");
this.mEdit.add(this.miEdCopy);
this.mEdit.add(this.miEdPaste);
this.mBar = new JMenuBar();
this.mBar.add(this.mFile);
this.mBar.add(this.mEdit);
this.setJMenuBar(this.mBar);
this.mFile.addMenuListener(this);
this.mEdit.addMenuListener(this);
this.txtNama1=new JTextField("");
this.cmdTest=new JButton("Test");
cmdTest.addMouseListener(this);
this.txtNama1.setBounds(10,140,100,20);
this.cmdTest.setBounds(10,160,100,20);
this.add(this.txtNama1);
this.add(this.cmdTest);
this.txtNama2=new JTextField("");
this.cmdTest1=new JButton("Test");
cmdTest1.addMouseMotionListener(this);
this.txtNama2.setBounds(10,200,100,20);
this.cmdTest1.setBounds(10,220,100,20);
this.add(this.txtNama2);
this.add(this.cmdTest1);
this.tombol=new JButton("CONTOH");
this.tombol.setBounds(10,260,100,20);
this.add(this.tombol);
this.tombol.addActionListener(this);
this.tombol1=new JButton("CONTOH");
this.tombol1.setBounds(10,300,100,20);
this.add(this.tombol1);
this.tombol1.addChangeListener(this);
this.txtContoh1=new JTextField("");
this.txtContoh1.setBounds(10,350,100,20);
this.add(this.txtContoh1);
this.txtContoh1.addFocusListener(this);
this.cmdTombol=new JButton("Tombol");
this.cmdTombol.setBounds(10,370,100,20);
this.add(this.cmdTombol);
this.txtContoh2=new JTextField("");
this.txtContoh2.setBounds(10,430,100,20);
this.add(this.txtContoh2);
this.combo=new JComboBox();
this.combo.addItem("NAD");
this.combo.addItem("Medan");
this.combo.addItem("Padang");
this.combo.addItem("Pekanbaru");
this.combo.addItem("Palembang");
this.combo.setBounds(10,410,150,20);
this.add(this.combo);
this.combo.addItemListener(this);
this.miFiSave1 = new JMenuItem("Save As");
this.miFiExit1 = new JMenuItem("Exit");
this.miEdCopy1 = new JMenuItem("Copy");
this.miEdPaste1 = new JMenuItem("Paste");
this.popup=new JPopupMenu();
this.popup.add(this.miEdCopy1);
this.popup.add(this.miEdPaste1);
this.popup.add(this.miFiSave1);
this.popup.add(this.miFiExit1);
this.popup.addPopupMenuListener(this);
this.label1 = new JLabel("");
this.label1.setBounds(180,150,200,40);
this.add(this.label1);
this.addMouseListener(this);
this.label2 = new JLabel("");
this.label2.setBounds(200,440,200,40);
this.add(this.label2);
this.addWindowListener(this);
this.setLayout(null);
this.setSize(600,600);
this.setVisible(true);
}
public static void main(String[] arg){
TugasEventListener keluar=new TugasEventListener();
keluar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
/*
Method yang harus dibuat jika kita mengimplementasikan KeyListener adalah
keyPressed, keyReleased, keyTyped
walaupun tidak ada yang dieksekusi
*/
public void keyPressed(KeyEvent e){ //dieksekusi ketika terjadi penekanan tombol keyboard
Object objek = e.getSource();
if(objek==this.txtContoh){
this.label.setText("Sedang Menekan tombol keyboard");
}
}
public void keyReleased(KeyEvent e){ //dieksekusi ketika terjadi pelepasan tombol keyboard
Object objek = e.getSource();
if(objek==this.txtContoh){
this.label.setText("Sedang Melepas tombol keyboard");
}
}
public void keyTyped(KeyEvent e){ //dieksekusi ketika terjadi penekanan tombol keyboard
//khususnya tombol input (abjad,angka,spasi,backspace,dll)
//tombol khusus seperti F1 datau Ctrl tidak memberi reaksi
Object objek = e.getSource();
if(objek==this.txtContoh){
this.label.setText("Sedang Mengetik");
}
}
public void menuCanceled(MenuEvent e){ //dieksekusi ketika menu tidak jadi diakses
}
public void menuDeselected(MenuEvent e){ //dieksekusi ketika pilihan menu selesai diakses
Object objek = e.getSource();
if(objek==this.mFile){
this.txtNama.setText("Anda Memilih Menu File (Deselect)");
}
if(objek==this.mEdit){
this.txtNama.setText("Anda Memilih Menu Edit (Deselect)");
}
}
public void menuSelected(MenuEvent e){ //dieksekusi ketika pilihan menu di-select
Object objek = e.getSource();
if(objek==this.mFile){
this.txtNama.setText("Anda Memilih Menu File (Select)");
}
if(objek==this.mEdit){
this.txtNama.setText("Anda Memilih Menu Edit (Select)");
}
}
public void mouseExited(MouseEvent e){ //dieksekusi ketika mouse keluar objek
Object objek = e.getSource();
if(objek==this.cmdTest){
this.txtNama1.setText("Mouse Exit");
}
}
public void mouseClicked(MouseEvent e){//dieksekusi ketika objek di klik
Object objek = e.getSource();
if(objek==this.cmdTest){
this.txtNama1.setText("Mouse Click");
}
int TOMBOL = MouseEvent.BUTTON3;
if(e.getButton()==TOMBOL){
this.popup.show(this,e.getX(),e.getY());
}
}
public void mouseEntered(MouseEvent e){ //dieksekusi ketika mouse menyorot objek
Object objek = e.getSource();
if(objek==this.cmdTest){
this.txtNama1.setText("Mouse Enter");
}
}
public void mouseReleased(MouseEvent e){ //dieksekusi ketika mouse di Klik kemudian dilepas
Object objek = e.getSource();
if(objek==this.cmdTest){
this.txtNama1.setText("Mouse Release");
}
}
public void mousePressed(MouseEvent e){ //dieksekusi ketika mouse diklik (sebelum dilepas)
Object objek = e.getSource();
if(objek==this.cmdTest){
this.txtNama1.setText("Mouse Press");
}
}
public void mouseDragged(MouseEvent e){ //dieksekusi ketika terjadi pergeseran mouse
//disertai penekanan tombol mouse
Object objek = e.getSource();
if(objek==this.cmdTest1){
this.txtNama2.setText("Mouse Drag");
}
}
public void mouseMoved(MouseEvent e){ //dieksekusi ketika terjadi pergeseran mouse
//tanpa disertai penekanan tombol mouse
Object objek = e.getSource();
if(objek==this.cmdTest1){
this.txtNama2.setText("Mouse Move");
}
}
public void actionPerformed(ActionEvent e){ //Method yang harus ada jika menggunakan ActionListener
Object objek = e.getSource();
if(objek==this.tombol){
this.pesan=new JOptionPane();
String msg="Anda Menekan Tombol CONTOH";
String title="Test Aja";
int optType = JOptionPane.YES_NO_CANCEL_OPTION;
int msgType = JOptionPane.WARNING_MESSAGE;
ImageIcon logo = null;
Object[] pilihan={"Ya","Tidak","Batal"};
this.pesan.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
}
public void stateChanged(ChangeEvent e){
Object objek = e.getSource();
if(objek==this.tombol1){
this.pesan1=new JOptionPane();
String msg="Anda Menekan Tombol CONTOH";
String title="Test Aja";
int optType = JOptionPane.YES_NO_CANCEL_OPTION;
int msgType = JOptionPane.WARNING_MESSAGE;
ImageIcon logo = null;
Object[] pilihan={"Ya","Tidak","Batal"};
this.pesan.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
}
public void focusGained(FocusEvent e){ //dieksekusi ketika sebuah objek menjadi fokus
Object objek = e.getSource();
if(objek==this.txtContoh1){
this.txtContoh1.setText("Sedang Fokus");
}
}
public void focusLost(FocusEvent e){ //dieksekusi ketika sebuah objek kehilangan fokus
Object objek = e.getSource();
if(objek==this.txtContoh1){
this.txtContoh1.setText("Sedang Tidak Fokus");
}
}
public void itemStateChanged(ItemEvent e){ //dieksekusi ketika sebuah data objek dalam objek diakses
Object objek = e.getSource();
if(objek==this.combo){
String isi = this.combo.getSelectedItem().toString();
this.txtContoh2.setText(isi);
}
}
public void popupMenuCanceled(PopupMenuEvent e){//dieksekusi ketika popup dibatalkan
}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e){ //dieksekusi ketika popup akan menghilang
Object objek = e.getSource();
if(objek==this.popup){
this.label1.setText("Popup Menghilang");
}
}
public void popupMenuWillBecomeVisible(PopupMenuEvent e){ //dieksekusi ketika popup akan muncul
Object objek = e.getSource();
if(objek==this.popup){
this.label1.setText("Popup Muncul");
}
}
//untuk override MouseListener
public void MouseExited(MouseEvent e){ //dieksekusi ketika mouse keluar objek
}
public void MouseClicked(MouseEvent e){//dieksekusi ketika objek di klik
int TOMBOL = MouseEvent.BUTTON3; //klik kanan
if(e.getButton()==TOMBOL){
this.popup.show(this,e.getX(),e.getY());
}
}
public void MouseEntered(MouseEvent e){ //dieksekusi ketika mouse menyorot objek
}
public void MouseReleased(MouseEvent e){ //dieksekusi ketika mouse di Klik kemudian dilepas
}
public void MousePressed(MouseEvent e){ //dieksekusi ketika mouse diklik (sebelum dilepas)
}
public void windowActivated(WindowEvent e) { // setelah window dalam keadaan fokus
this.label2.setText("Window Activated");
// this.pesan=new JOptionPane();
// String msg="Window Activated";
// String title="Test Aja";
// int optType = JOptionPane.YES_NO_CANCEL_OPTION;
// int msgType = JOptionPane.WARNING_MESSAGE;
// ImageIcon logo = null;
// Object[] pilihan={"Ya","Tidak","Batal"};
// this.pesan.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
public void windowClosed(WindowEvent e) { // setelah window ditutup
this.label2.setText("Window Closed");
this.pesan2=new JOptionPane();
String msg="Window Closed";
String title="Test Aja";
int optType = JOptionPane.YES_NO_CANCEL_OPTION;
int msgType = JOptionPane.WARNING_MESSAGE;
ImageIcon logo = null;
Object[] pilihan={"Ya","Tidak","Batal"};
this.pesan2.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
public void windowClosing(WindowEvent e) { //ketika window ditutup
this.label2.setText("Window Closing");
this.pesan2=new JOptionPane();
String msg="Window Closing";
String title="Test Aja";
int optType = JOptionPane.YES_NO_CANCEL_OPTION;
int msgType = JOptionPane.WARNING_MESSAGE;
ImageIcon logo = null;
Object[] pilihan={"Ya","Tidak","Batal"};
this.pesan2.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
public void windowDeactivated(WindowEvent e){ // setelah window dalam keadaan lepas fokus
this.label2.setText("Window Deactivated");
// this.pesan=new JOptionPane();
// String msg="Window Deactivated";
// String title="Test Aja";
// int optType = JOptionPane.YES_NO_CANCEL_OPTION;
// int msgType = JOptionPane.WARNING_MESSAGE;
// ImageIcon logo = null;
// Object[] pilihan={"Ya","Tidak","Batal"};
// this.pesan.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
public void windowDeiconified(WindowEvent e) { //setelah maximize dari keadaan minimize
this.label2.setText("Window Deiconified");
this.pesan2=new JOptionPane();
String msg="Window Deiconified";
String title="Test Aja";
int optType = JOptionPane.YES_NO_CANCEL_OPTION;
int msgType = JOptionPane.WARNING_MESSAGE;
ImageIcon logo = null;
Object[] pilihan={"Ya","Tidak","Batal"};
this.pesan2.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
public void windowIconified(WindowEvent e) { //setelah di minimize
this.label2.setText("Window Iconified");
this.pesan2=new JOptionPane();
String msg="Window Iconified";
String title="Test Aja";
int optType = JOptionPane.YES_NO_CANCEL_OPTION;
int msgType = JOptionPane.WARNING_MESSAGE;
ImageIcon logo = null;
Object[] pilihan={"Ya","Tidak","Batal"};
this.pesan2.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
public void windowOpened(WindowEvent e) { // setelah window terbuka
this.label2.setText("Window Opened");
this.pesan2=new JOptionPane();
String msg="Window Opened";
String title="Test Aja";
int optType = JOptionPane.YES_NO_CANCEL_OPTION;
int msgType = JOptionPane.WARNING_MESSAGE;
ImageIcon logo = null;
Object[] pilihan={"Ya","Tidak","Batal"};
this.pesan2.showOptionDialog(this,msg,title,optType,msgType,logo,pilihan,pilihan[1]);
}
}











10.05
Ahmad taufiq


0 komentar:
Posting Komentar