IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  digitalpanel

Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 18 Mart 2015, 14:51   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Java ile Yazılmış Bir Hesap Makinesi Örneği




Kod:   Kodu kopyalamak için üzerine çift tıklayın!
mport java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Font; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Label; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; //Programimiz için gerekli bazi paketleri ‘import’ ettik. public class HesapMakinesi extends Frame implements ActionListener { Label display; Button onOff; Button[] tuslar; Frame parent; long oncekiSayi = 0; char operatie = '='; boolean yeniGirdi=true; Font bigFont = new Font("Arial",Font.PLAIN,24); //Tuslar ve ekranin görünümü için bir 'font' tanimliyoruz public static **** main(String[] arg) { new HesapMakinesi().setVisible(true); } public HesapMakinesi() { super("Hesap makinesi"); //Window (pencere) basligi olusturGUI(); startFlashing(); } public **** olusturGUI() { parent=this; display = new Label(" ",Label.RIGHT); display.setBackground(Color.yellow); display.setFont(bigFont); onOff = new Button("On"); onOff.addActionListener(this); onOff.setFont(bigFont); Panel tusPaneli = new Panel(); //Bu paneli tuslarimisi yerlestirmek için kullanacagiz. tusPaneli.setLayout(new GridLayout(4,4)); String[] isaretler = {"9","8","7", "/", "6","5","4", "*", "3","2","1", "-", "0","C","=", "+" }; tuslar = new Button[16]; //Önce 'isaretler' adinda bize lazim olan isaretleri iceren bir String dizi olusturduk. for (int b=0; b<16; b++) { tuslar[b]=new Button(isaretler[b]); tuslar[b].setFont(bigFont); tuslar[b].addActionListener(this); tusPaneli.add(tuslar[b]); } /*Tuslarimizi (on/of hariç) daha önce hazirladigimiz 'tusPaneli'ne for döngüsü yardimi ile tek tek yerlestiriyor ve hepsini ActionListener'e bildiriyoruz. ActionListener arayüzü sayesinde tuslarimizin ne yapmasi herektigini belirleyebilecegiz*/ this.add(display,BorderLayout.NORTH); this.add(tusPaneli,BorderLayout.CENTER); this.add(onOff,BorderLayout.SOUTH); /*Ekranimizi (display), küçük tuslarimizi yapistirdigimiz tusPanel'imizi ve on/off tusumuzu container'e (this) ekliyoruz */ this.setSize(250,250); this.addWindowListener(new WindowAdapter() { @Override public **** windowClosing(WindowEvent we){ System.exit(0); } } ); // Bu kod parçasi ise penceremizi X butonu ile kapatabilmemizi saglar. } public **** actionPerformed(ActionEvent evt) { /* ActionListener arayüzünden 'implemente' ettigimiz ve tuslarimizin hareketlerini denetleyip * verdigimiz kpmotlara göre ne yapilmasi gerektiginin anlatildigi sinifimiz. */ if ( onOff==evt.getSource() ) { //örnegin burada anlatilmak istenen onOff tusuna basildiginda... doOnOff(); return; } if (onOff.getLabel().equals("On")) /*onOff butonunun Label'i "On" ise.. *Dikkat! Java'da String ifadenin karsilastirilmasi == ile degil * equals(); yordami ile yapilir. */ return; char input = evt.getActionCommand().charAt(0); System.out.println("input:"+input); if (input>='0' & input<='9' ) { if (display.equals("0") || yeniGirdi) display.setText(input+""); else display.setText(display.getText()+input); return; } if (input=='C') { oncekiSayi=0; operatie='='; yeniGirdi=true; display.setText("0"); return; } String tekst="0"+display.getText().trim(); long sayi = Long.parseLong(tekst); hesapla(input,sayi); display.setText(oncekiSayi+""); } public **** hesapla(char input, long sayi) { System.out.println("hesapla:"+input+"|"+sayi); switch (operatie) { case '=' : oncekiSayi= sayi; break; case '+' : oncekiSayi+=sayi; break; case '-' : oncekiSayi-=sayi; break; case '*' : oncekiSayi*=sayi; break; case '/' : oncekiSayi/=sayi; break; } operatie=input; yeniGirdi=true; } public **** doOnOff() { yeniGirdi=true; if ( onOff.getLabel().equals("On") ) { onOff.setLabel("Off"); display.setBackground(Color.yellow); display.setText("0"); return; } onOff.setLabel("On"); display.setText(" "); startFlashing(); } public **** startFlashing() { Runnable flash = new Runnable() { public **** run() { boolean yellow=true; while(onOff.getLabel().equals("On")) { if (yellow) display.setBackground(Color.green); else display.setBackground(Color.yellow); yellow=!yellow; try { Thread.sleep(600); } catch (Exception ex) { } } // end while } // end run }; // end Runnable new Thread(flash).start(); } }


__________________
SusKun ve Sessiz Mürekkep...


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet
Cevapla

Etiketler
bîr, hesap, ile, java, makinesi, yazılmış, örneği


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Java Hesap Makinesi Lui Java 2 28 Şubat 2011 12:58
Hesap Makinesi nitX Visual Basic 2 28 Şubat 2011 10:27
Hesap Makinesi Cemalizim Visual Basic 0 21 Temmuz 2008 18:35
Hesap makinesi Cemalizim C ve C++ 0 19 Temmuz 2008 15:28