Günün Sözü DamlaPenia.
Her şey neye layıksa ona dönüşür. -Mevlana
Etiket Listesi

Like Tree2Beğeniler
  • 1 Post By Kaf Dağı
  • 1 Post By Asrevya
Seçenekler
Seçenekler
Stil
Kaf Dağı - ait Kullanıcı Resmi (Avatar)
Üyelik tarihi
12 Şubat 2015
Bulunduğu yer
Samsun
Mesajlar
3.228
Seslenildi
298 Mesaj
Etiketlendi
133 Konu
Ruh Hali
Paranoyak

Standart Java ile Yazılmış Bir Hesap Makinesi Örneği

17 Mart 2015
1

Kod
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();
                  }
                 
                 }

Onur bunu beğendi.
Avatar Seçilmemiş
Üyelik tarihi
03 Şubat 2015
Bulunduğu yer
Antalya
Mesajlar
20.169
Seslenildi
1439 Mesaj
Etiketlendi
51 Konu
Standart Cevap: Java ile Yazılmış Bir Hesap Makinesi Örneği
17 Mart 2015
2
Emeğine sağlık,paylaşım için teşekkürler @Kaf_Dağı
Kaf Dağı bunu beğendi.

Hayatın ağıtını bilenler anlar ancak.
Değeri değere değen kavrar.




Bilgi kokmayan karşı çıkışlarda cehalet kokusu ve kompleks vardır.







Konuyu 1 kişi okuyor. (0 üye ve 1 ziyaretçi)
 
Benzer Konular
Konu
Konuyu Başlatan
Forum
Cevaplar
Son Mesaj