15 Ocak 2012 Pazar

JAVA DA MENÜ KAVRAMI-2

Bir önceki yazımda menülere bir giriş yaparak ne olduğundan bahsettim ve bir misal ile olayı daha anlaşılabilir kıldım. Şimdi sık olarak kullandığımız başka bir menü çeşidinden bahsedeceğim. Popupmenü. Namı diğer sağ tık menüsü. Bir component'e veya pencereye sağ tıkladığımızda önümüze gelecek seçenekleri düzenlememize ve bu seçeneklere istediğimiz şekilde event yazabilme olanağı verir bizlere popup menüsü. 


Popup menünün önemli bir özelliği ise mouselistener ile çalışmasıdır. Zaten adı üzerinde sağ tık menüsü. lafı fazla uzatmadan uygulamamızın olduğu class'ın kodlarını hemen yazalım. Ha unutmadan bir önceki yazımla alakalı bir örnek daha yaptım. Menülere ikonun nasıl ekleneceği hususunda bir uygulama oldu. O uygulamayı da bu örneğin içine atarım. Oradan incelersiniz. Sorularınız için mcelenk@yuvamgroup.com adresine mail atabilirsiniz. 


package popupmenu;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;

public class popup extends  JFrame {
   
    ImageIcon im=new ImageIcon(getClass().getResource("/resim/ytu.gif"));
    JLabel l=new JLabel(im);
    JPopupMenu pop=new JPopupMenu();
    JMenuItem item1=new JMenuItem("Notepad");
    JMenuItem item2=new JMenuItem("Paint");
    JMenuItem item3=new JMenuItem("Çıkış");

    public olay() {
        super("Popupmenü uygulaması");
        add(l);
        l.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseReleased(MouseEvent e) {
                super.mouseReleased(e);
                if(e.isPopupTrigger())
                {
                    pop.show(e.getComponent(), e.getX(), e.getY());
                }
                }
           
        });
                pop.add(item1);
                item1.addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        Runtime r=Runtime.getRuntime();
                        Process p=null;
                        try {
                            p=r.exec("C:\\Windows\\notepad.exe");
                        } catch (Exception ex) {
                            JOptionPane.showMessageDialog(null, "Bir hata oluştu","HATA",JOptionPane.ERROR_MESSAGE);
                        }
                       
                    }
                });
                pop.add(item2);
                item2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                Runtime r=Runtime.getRuntime();
                Process p=null;
                try {
                    p=r.exec("C:\\Windows\\system32\\mspaint.exe");
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(null, "Bir hata oluştu","HATA",JOptionPane.ERROR_MESSAGE);
                }
            }
        });
                pop.add(item3);
                item3.addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        System.exit(0);
                    }
                });
    }
}

Uygulamanın kaynak kodlarını, jar dosyasını ve yukarıda bahsettiğim bir önceki ders ile alakalı misali buradan indirebilirsiniz. İyi çalışmalar.

Hiç yorum yok:

Yorum Gönder