PopupMenu,dinamik olarak bir pencerenin içinde belirli bir konumda açılır ve bir dizi seçimler gösterir.JComponent sınıfından miras yoluyla genişler(inherits).
Bu menüler, açılır pencere tetikleyici olayının(popup trigger event) gerçekleştiği bileşenlere belli seçenekler sağlar.Çoğu sistemde,kullanıcılar mouse’un sağ butonuna basıp bıraktığında gerçekleşir.
Bir örnekle açıklayacak olursak şöyle;
[cc lang=”css”]
package JPopupMenuKullanımı;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
class PopupMenu extends JFrame{
private JRadioButtonMenuItem[] items;
private JPopupMenu popupMenu;
private Color[] renkDegerleri={Color.RED,Color.GREEN,Color.YELLOW};
public PopupMenu(){
super(“JPopupMenu Kullanımı”);
setBackground(Color.WHITE);
popupMenu=new JPopupMenu();
String renkler[]={“Kırmızı”,”Yeşil”,”Sarı”};
items=new JRadioButtonMenuItem[renkler.length];
ButtonGroup grup=new ButtonGroup();
for(int i=0;i
Evet arkadaşlar bu örneğimizde öncelikle PopupMenu adında bir sınıf oluşturuyoruz ve JFrame sınıfı ile genişletiyoruz.
Kurucu metodun üstünde, JRadioButtonMenuItem ve JPopupMenu sınıflarının nesnelerini tanımladık. Color sınıfından da renkDegerleri adında bir dizi nesnesi oluşturduk.
Kurucu metot da,metodun üstünde tanımladığımız sınıfların nesnelerini oluşturduk.Bunun dışında ButtonGroup( menü itemlar da,belli bir anda sadece bir seçim yapılabilmesini sağlar) sınıfından bir nesne oluşturduk.
Bir for-döngüsü içinde RadioButtonMenuItem nesnelerini popupMenu’ye ve ButtonGroup’a ekledik.Ayrıca her nesneye seçilen rengin arka planda gözükmesi için ActionListener ekledik.
PopupMenu’nün pencere içerisinde her hangi bir konumda gözükmesi için addMouseListener kullandık.
public boolean isPopupTrigger() :mouse olayının,açılır pencere tetikleyici olayı(popup trigger event) olup olmadığı ile ilgili true veya false değeri döndürüyor.
İlk yorum yapan olun