IndonesianEnglishGermanDutchPortugueseRussianGreekFrench KoreanBrazilianArabicSpanish

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]);
    }


}





0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Lady Gaga, Salman Khan