Ana Sayfa » Windows » Java » Java ile Yazilmis Bir Hesap Makinesi Örnegi

Java ile Yazilmis Bir Hesap Makinesi Örnegi

Java ile basit bir hesap makinesi programini sizlerle paylasmak istiyorum:

 

import 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 void main(String[] arg) {

        new HesapMakinesi().setVisible(true);

    }

   

    public HesapMakinesi() {

        super("Hesap makinesi"); //Window  (pencere) basligi

        olusturGUI();

        startFlashing();

    }

   

    public void 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 void windowClosing(WindowEvent we){

                        System.exit(0);

                        }

                    }

                );

         // Bu kod parçasi ise penceremizi X butonu ile kapatabilmemizi saglar.

         

    }

   

    public void 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 void 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 void 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 void startFlashing() {

    Runnable flash = new Runnable() {

        public void 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();

     }

   

    }

 

 

 

my wife cheated on me with my father reasons women cheat read
reasons why married men cheat open wife cheated on me
abortion clinics in richmond va sadi.me how can you do abortion
walgreen online coupon blog.suntekusa.com pharmacy codes prescription
buy sildenafil 100mg viagra without a doctor prescription buy viagra 100mg
pet prescription discount card free viagra coupons prescription coupon card
discount prescription drug cards blog.brunothalmann.com discount prescription drug cards
cialis dosage and frequency cialis dosage and cost
new prescription coupons transfer prescription coupon free prescription drug cards
discount card prescription prescription discount coupons prescription drugs discount cards
cialis coupons free prescription transfer coupon free discount prescription cards
aerius marine thefunnyblog.org aerius
diflucan site diflucan one
cymbalta eureka blog.dotnetnerd.dk cymbalta
tamoxifen dosering click tamoxifen
tamoxifen dosering click tamoxifen
prescription card discount bilgecammakina.com cialis coupons 2015

Yazar Hakkında

Ahmet Tanriverdi

Google Plus

Makale Sayısı : 50

Java ile Yazilmis Bir Hesap Makinesi Örnegi

16 yorum
yorumekle yorumekle Toplam 5 Yorum Yapılmış. Sizde yorum yazmak ve soru sormak için bu linki takip edin. -Forum sayfasına yönlendirileceksiniz-

Yorumlar