20 Mayıs 2013 Pazartesi

Java Gui--11(JMenuBar)




     JFrame ile oluşturduğumuz pencerelere menü çubuğu eklemek için swing kütüphanesinden JMenuBar ' i kullanıyoruz. Daha sonra bu menü çubuğuna sekme eklemek için JMenu oluşturuyoruz. Bu JMenu lere ekleyeceğimiz ögeler için ise JMenuItem ögeleri oluşturuyoruz. Biraz karışık oldu ama aşağıdaki örneği incelersek çok kolay olduğu anlaşılacaktır!

     Örneğin bir menü çubuğumuz var ve bu menü çubuğunda “Dosyalar” ve “Renkler” isimli iki sekmemiz olsun. “Renkler ” sekmesinde ise çeşitli renkler bulunsun. Bunun için kodlama aşağıdaki gibi olmalıdır:

 JMenuBar menu = new JMenuBar( );

 JMenu file = new JMenu("Dosyalar");

 JMenu color = new JMenu("Renkler");

 JMenuItem r1 = new JMenuItem("Siyah");

 JMenuItem r2 = new JMenuItem("Sarı");

 JMenuItem r3 = new JMenuItem("Mavi");

 JMenuItem r4 = new JMenuItem("Kırmızı");

Örnek

     Şimdi de yapacağımız üstteki örneğin aynisi ama bu sefer de bu JMenuItem ögelerine ActionListener ekleyelim ve pencere arka plan rengini seçtiğimiz renkler olmasını sağlayalım. Bunun için unutmamamız gereken önemli bir nokta vardır bu da “getContentPane( )” metodunu kullanmaktır ve eğer kullanmazsak arkaplan rengi değişmeyecektir.

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class JMenubarDemo extends JFrame implements ActionListener{
    JMenuBar menu = new JMenuBar();
    JMenu file = new JMenu("Dosyalar");
    JMenu color = new JMenu("Renkler");
    JMenuItem exit = new JMenuItem("Cıkıs");
    JMenuItem r1 = new JMenuItem("Cyan");
    JMenuItem r2 = new JMenuItem("Sarı");
    JMenuItem r3 = new JMenuItem("Mavi");
    JMenuItem r4 = new JMenuItem("Kırmızı");
    public JMenubarDemo(){
        super("JMenuBarDemo");
        setSize(200, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
        setLayout(new FlowLayout());
        add(menu);
        menu.add(file);
        menu.add(color);
        exit.addActionListener(this);
        r1.addActionListener(this);
        r2.addActionListener(this);
        r3.addActionListener(this);
        r4.addActionListener(this);
        color.add(r1);
        color.add(r2);
        color.add(r3);
        color.add(r4);
        file.add(exit);
       
    }
    public void actionPerformed(ActionEvent event){
        Object kod = event.getSource();
        Container con = getContentPane();
        if(kod == r1){
            con.setBackground(Color.cyan);
        }
        if(kod == r2){
            con.setBackground(Color.yellow);
        }
        if(kod == r3){
            con.setBackground(Color.blue);
        }
        if(kod == r4){
            con.setBackground(Color.red);
        }
        if(kod == exit){
            System.exit(0);
        }
    }
    public static void main(String[] args) {
        JMenubarDemo demo = new JMenubarDemo();
    }
}

Ekran Görüntüleri



0 yorum:

Yorum Gönder