Konuyu görüntüle
IUCODERS FORUM > Duyurular > Diğer > Java_GrafikselArayüz ders notundaki hata
Yazar
alew


avatar
istanbul
Kayıt: 01.04.2007
11.05.2008-18:05 #44367
Java_GrafikselArayüz ders notundaki bir programı aynen yazdım çalıştırıyorum hata veriyor nasıl düzeltebilceğim hakkında fikri olan var mı?

Eylemler Atamak
Menü, Bar, Düğme tanımlama ve Eylem Atamak

Başlığı altındaki ilk örnek program






Yazar
tuuba


avatar
Bursa
Kayıt: 22.01.2007
11.05.2008-19:27 #44368
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Eylem01 extends JFrame{
	//swing actions
	private Action acAc;
	private Action acKaydet;
	private Action acSil;
	private Action acCikis;
	
	public Eylem01(){
		super("Eylemleri Kullanıyoruz.");
		acAc();
		acKapa();
		acKaydet();
		acSil();
		
		//create File menu
		JMenu dosyaMenu = new JMenu("Dosya");
		//add sample Action and exitAction to File menu to create JMenuItem for each Action
		dosyaMenu.add(acAc);
		dosyaMenu.add(acKaydet);
		dosyaMenu.add(acSil);
		dosyaMenu.add(acCikis);
		dosyaMenu.setMnemonic('M');
		//JMenubar ile menuCubuk yaratıyoruz
		JMenuBar menuCubuk = new JMenuBar();
		//dosya menüsünde bulunan tüm eylemleri bir seferde menü çubuğuna atıyoruz.
		menuCubuk.add(dosyaMenu);
		setJMenuBar(menuCubuk);
		//eylemCubuğu yaratıyoruz new JToolBar
		JToolBar eylemCubuk = new JToolBar();
		//Eylem çubuğunda (toolBar) görünmesini istediğimiz eylemleri tek tek ekliyoruz. 
		
		eylemCubuk.add(acAc);
		eylemCubuk.add(acKaydet);
		eylemCubuk.add(acCikis);
		// pencerede düğme tanımlıyoruz ve düğmelere yaratmış olduğumuz eylemleri atıyoruz.


		// bu örnekte önce yaratıyoruz sonra eylemi atıyoruz
		JButton btnAc = new JButton();
		btnAc.setAction(acAc);
		//Bu örnekte ise yaratma esnasında eylemimizi atıyoruz
		JButton btnKaydet = new JButton(acKaydet);
		
		//Layout Katman panelinin yaratıyoruz
		JPanel dugmePaneli = new JPanel();
		dugmePaneli.add(btnAc);
		dugmePaneli.add(btnKaydet);
	
		//Sıra eylem çubuğunu ve düğme panelini pencerinin içerik (container) yönetime atamaya geldi.
		Container icerik = getContentPane();
		icerik.add(eylemCubuk,BorderLayout.NORTH);
		icerik.add(dugmePaneli,BorderLayout.CENTER);
		
		
	}

	private void acAc(){
		
		//acAc icin soyut bir sınıf tanımlıyor ve atıyoruz. AbstractActiondan turemis oluyor.
		acAc = new AbstractAction(){
			public void actionPerformed(ActionEvent event){
				//Eylemin cagrildigina dair mesaj gösteriyoruz.
				// bu bölümde dosya acma islemi gelmeli normalde.
				JOptionPane.showMessageDialog(Eylem01.this, "Dosya Acma İşlemi Çağrıldı");
				//Programdan çıkış işlemini aktif hale getiriyoruz. Ki bu eylemi bir yaratmıştık
				acCikis.setEnabled(true);
			}
		};
		//Eylemimize bir isim atıyoruz
		acAc.putValue(Action.NAME, "Dosya Acma");
		//Eylemimize bir ikon atıyoruz
		//acAc.putValue(Action.SMALL_ICON, new ImageIcon(getClass().getResource("images/Cikis.bmp")));
		
		//Eylem hakkında kısa bir açıklama yapıyoruz. Fare üzerine geldiğinde bu bilgi görünecek.
		acAc.putValue(Action.SHORT_DESCRIPTION, "Dosya açma eylemi.");
		//Eylem için kısa yol tuşu tanımlıyoruz.
		acAc.putValue(Action.MNEMONIC_KEY,new Integer('A'));
		
	}

	private void acKaydet(){
		//acKaydet icin soyut bir sınıf tanımlıyor ve atıyoruz. AbstractActiondan türemiş oluyor.
		acKaydet = new AbstractAction(){
			public void actionPerformed(ActionEvent event){
				//Eylemin cagrildigina dair mesaj gösteriyoruz.
				// bu bölümde dosya acma islemi gelmeli normalde.
				JOptionPane.showMessageDialog(Eylem01.this, "Dosya Kaydetme İşlemi Çağrıldı");
				//Programdan çıkış işlemini aktif hale getiriyoruz. Ki bu eylemi bir yaratmıştık
				acCikis.setEnabled(true);
			}
		};
		//Eylemimize bir isim atıyoruz
		acKaydet.putValue(Action.NAME, "Dosya Kaydetme");
		//Eylemimize bir ikon atıyoruz
		//acKaydet.putValue(Action.SMALL_ICON, new ImageIcon(getClass().getResource("images/Kaydet.bmp")));
		//Eylem hakkında kısa bir açıklama yapıyoruz. Fare üzerine geldiğinde bu bilgi görünecek.
		acKaydet.putValue(Action.SHORT_DESCRIPTION, "Dosya kaydetme eylemi .");
		//Eylem için kısa yol tuşu tanımlıyoruz.
		acKaydet.putValue(Action.MNEMONIC_KEY,new Integer('K'));
		
	}


	private void acSil(){
		//acSil icin soyut bir sınıf tanımlıyor ve atıyoruz. AbstractActiondan türemiş oluyor.
		acSil = new AbstractAction(){
			public void actionPerformed(ActionEvent event){
				//Eylemin cagrildigina dair mesaj gösteriyoruz.
				// bu bölümde dosya acma islemi gelmeli normalde.
				JOptionPane.showMessageDialog(Eylem01.this, "Dosya Silme İşlemi Çağrıldı");
				//Programdan çıkış işlemini aktif hale getiriyoruz. Ki bu eylemi bir yaratmıştık
				acCikis.setEnabled(true);
			}
		};
		//Eylemimize bir isim atıyoruz
		acSil.putValue(Action.NAME, "Dosya Silme");
		//Eylemimize bir ikon atıyoruz
		//acSil.putValue(Action.SMALL_ICON, new ImageIcon(getClass().getResource("images/Sil.bmp")));
		//Eylem hakkında kısa bir açıklama yapıyoruz. Fare üzerine geldiğinde bu bilgi görünecek.
		acSil.putValue(Action.SHORT_DESCRIPTION, "Dosya Silme eylemi .");
		//Eylem için kısa yol tuşu tanımlıyoruz.
		acSil.putValue(Action.MNEMONIC_KEY,new Integer('S'));
		
	}

	private void acKapa(){
		//Programdan çıkış eylemi tanımlıyoruz
		acCikis = new AbstractAction(){
			public void actionPerformed(ActionEvent event){
				//Programdan cikis işlemi çağrıldı
				JOptionPane.showMessageDialog(Eylem01.this, "Programdan cikiyoruz...");
				System.exit(0);
			}
		};
		//Çıkış eylemimimiz için isim atıyoruz
		acCikis.putValue(Action.NAME, "Cikis Islemi");
		//Çıkış eylemimize ikon atıyoruz.
		//.putValue(Action.SMALL_ICON, new ImageIcon(getClass().getResource("images/Cikis.bmp")));
		//Çıkış eylemimize açıklama ekliyoruz
		acCikis.putValue(Action.SHORT_DESCRIPTION, "Programdan Çıkıyorsunuz..");
		//set Action mnemonic key
		acCikis.putValue(Action.MNEMONIC_KEY,new Integer('C'));
		//disbale exitAction
		acCikis.setEnabled(false);

		
	}

	public static void main(String[] args) {
		// pencerimizi yaratıyoruz.
		Eylem01 pencereEditor = new Eylem01();
		//penceremize kapama eylemi atıyoruz
		pencereEditor.setDefaultCloseOperation(EXIT_ON_CLOSE);
		// atanan komponentlerin büyüklüğü kadar, otomatik olarak penceremizin boyutunu belirliyoruz.
		pencereEditor.pack();
		pencereEditor.setVisible(true);
	}

}



acSil.putValue(Action.SMALL_ICON, new ImageIcon(getClass().getResource("images/Sil.bmp")));

satırında olduğu gibi Sil.bmp ikonunu bulamadığı için hata veriyor.İkan verilen satırları yorum satırı haline getirirsen sorun çözülür.....





Yazar
alew


avatar
istanbul
Kayıt: 01.04.2007
11.05.2008-19:58 #44369
evet sorun çözüldü teşekkür ederim:)





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb