Tekil Mesaj gösterimi
Alt 18 Mart 2015, 14:51   #1
Çevrimiçi
Kaf_Dağı
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ı reklam ver Benimmekan Mobil Sohbet