Ana içeriğe atla

MenuBar, Menu, MenuItem (Java)

Java ile menü yapiminda temel üç unsura ihtiyacimiz olacak: MenuBar, Menu, MenuItem

MenuBar (menü çubugu), sekilde de gorüldügü gibi, menümüzün temelidir.
Onun üzerine Menu gelir. Menu tek basina pasiftir. Ona tiklayinca açilan ögelere ise MenuItem denir.

Simdi ilk yapacagimiz sey bir Frame olusturmak:

JFrame frame = new JFrame("Menü kullanimi");
            frame.setVisible(true);
            frame.setSize(400,200);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Bunun üzerinde fazla durmuyorum. Diger makalelerimizde daha ayrintili sekillerde anlatmaya çalismistik.

Sira geldi bir MenuBar olusturmaya ve frame nesnesine eklemeye:

JMenuBar menubar = new JMenuBar();
frame.setJMenuBar(menubar);

Temeli hazirladik.
Bu MenuBar’in üzerine iki adet Menu yerlestirelim. Bunlar ‘Dosya’ ve ‘Yardim’ olsun.
JMenuBar menubar = new JMenuBar();
frame.setJMenuBar(menubar);

JMenu yardim = new JMenu("Yardim");
menubar.add(yardim);

Menu’leri MenuItem’lerin tasnif edildigi basliklar olarak tasarlamaliyiz.
‘Dosya’ kismina “yeni, kaydet, farkli kaydet, çikis” gibi elemanlar; ‘yardim’ kismina ise “iletisim, hakkimizda” gibi elemanlar yerlestirebiliriz mesela.

Simdi MenuItem’leri yerlestirelim. Mantik yine ayni:
JMenuItem yeni = new JMenuItem("Yeni");
dosya.add(yeni);
...
...

Bu MenuItem’ler bir nevi butondur. Tiklayinca bir görefi yerine getirirler.
O zaman biz de aynen bir butona uygular gibi ActionListener sinifinin actionPerformed metodunu ‘cikis’ adli MenuItem’e uygulayalim. ‘cikis’ MenuItem’ine basinca uygulamamis sonlandirilsin:

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

Iste bu kadar!
 
Kodlarin tamami:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Menu {
     
      public static void main(String[] arg){
            JFrame frame = new JFrame("Menü kullanimi");
            frame.setVisible(true);
            frame.setSize(400,200);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           
            JMenuBar menubar = new JMenuBar();
            frame.setJMenuBar(menubar);
           
            JMenu dosya = new JMenu("Dosya");
            menubar.add(dosya);
            JMenuItem yeni = new JMenuItem("Yeni");
            dosya.add(yeni);
            JMenuItem kaydet = new JMenuItem("kaydet");
            dosya.add(kaydet);
            JMenuItem cikis = new JMenuItem("çikis");
            dosya.add(cikis);
           
            JMenu yardim = new JMenu("Yardim");
            menubar.add(yardim);
            JMenuItem hakkimizda = new JMenuItem("Hakkimizda");
            yardim.add(hakkimizda);
           
           
            cikis.addActionListener(new ActionListener() {
                 
                  @Override
                  public void actionPerformed(ActionEvent e) {
                        System.exit(0);
                       
                  }
            });
           
           
      }
}

Yorumlar

Bu blogdaki popüler yayınlar

Linux En Az Sistem Gereksinimi İsteyen Dağıtımları Değerlendirilmesi

Linux İşletim Sisteminin Dağıtımlarının En az sistem gereksinimi isteyen sürümleri, değerlendirilmesi aşağıdadır, Değerlendirilen dağıtımlar şunlardır: Ubuntu Xubuntu Lubuntu Damn Small Linux Linux Mint Fedora Opensuse Debian Rat Hat Suse Linux Suse Linux Sistem Gereksinimleri: Pentium 1-4 ya da Xeon; AMD Duron, Athlon (XP, MP ya da 64), Sempron ya da Opteron 256MB RAM 500MB boş disk alanı 800x600 yada üstü resolution Rat Hat Memory Gerekli: 4 GB of memory Önerilen: 8 GB of memory CPU Gerekli: Intel Core processor, 2.4GHz, 512K cache or equivalent Önerilen: Intel multi-core processor, 2.4GHz dual processor, 512K cache or equivalent Storage 5 GB alan temel kurulum için. 40 GB alan Channel başına. 10 GB alan Cache dizini için(/var/cache/rhn) Disk yapılandırması olarak Raid 5 tavsiye edilir. Database İlk kurulum için 12 GB alan önerilir. Client ve channel hesaplamaları ise, 250 KB alan client system başına, 500 KB alan çhannel başına, ayrıca 230 KB channel da...

( C#) Ders 4 - Diziler, Çok Boyutlu Diziler, Düzenli ve Düzensiz Çok Boyutlu Diziler Nasil Kullanilir. foreach Döngüsünün Kullanimi.

C# da Diziler Diziler için ayni tipteki verilerin tutuldugu bir koleksiyon diyebiliriz. Örnegin integer verinin bir yigin seklinde tutulmasi için dizileri kullaniriz. C# da diziler referans tipinde degiskenlerdendir. C# da tanimlanan tüm diziler System.Array sinifindan türemis bir nesnedir. C# da diziler asagidaki gibi tanimlanir. ? 1 <veri tipi>[] <degisken ismi> = new <veri tipi>[<dizinin boyutu>]; 10 adet integer veri tutan bir dizinin tanim ise ? 1 int [] integerDizi = new int [10]; Bir dizinin boyutlari sabittir ve kullanilmadan önce belirlenmelidir. Dizi boyutunu belirlemek için baska bir degiskende kullanabilirsiniz. ? 1 2 int boyut = 10; int [] integerDizi = new int [boyut]; Diziyi tanimlama ve baslangiç degerlerini atama islemini ayri satirlardada yapabilirsiniz. ? 1 2 int [] integerDizi; integerDizi = new int [10]; Ayrica dizileri tanimlarken, dizi içine atmak istedigin...

(C#) Ders 2 - Degisken Tipleri, Degisken Tanimlama ve Operatörler

C# Hakkinda Temel Bilgiler Bu dersimizde C# dili hakkinda temel bilgiler ögrenecegiz. Biraz açarsak bu dersimizde veri tipleri, degiskenler ve operatörleri nasil kullanacagimizla ilgili bilgiler verecegiz. Temel Veri Tipleri ve CTS(Common Type System) Karsiliklari C# da iki çesit veri tipi vardir: Deger Tipleri (Value type) Referans Tipleri(Reference Type) Degiskenler bellekte bulunan verilerdir. Bir degiskeni kullandigimiz zaman o degiskenin bellekte bulundu yerdeki bilgiyi kullaniriz. Deger tipleri veriyi direk olarak bellek bölgesinden alirken referans tipleri baska bir nesneye referans gösterirler. Yani referans tipleri içinde veri degil adres bilgisi tutarlar. Veri tipleri stack dedigimiz bellek bölgesinde tutulurlar, referans tipleri ise heap bellek bölgesinde saklanirlar. int, double, float gibi veri tipleri deger tiplerine örnek gösterilebilir. Herhangi bir sinif türü ise referans tipine örnek gösterilebilir. Deger tipleri birbirine esitlenirken degiskenin ba...