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(&quot;Arial&quot;, Font. PLAIN,24); //Tuslar ve ekranin görünümü için bir 'font' tanimliyoruz public static void main public HesapMakinesi public void olusturGUI { parent=this; display = new Label ; display. setBackground ; display. setFont ; onOff = new Button ; onOff. addActionListener ; onOff. setFont ; Panel tusPaneli = new Panel ; //Bu paneli tuslarimisi yerlestirmek için kullanacagiz. tusPaneli. setLayout(new GridLayout(4,4)); String isaretler = ; tuslar = new Button ; //Önce 'isaretler' adinda bize lazim olan isaretleri iceren bir String dizi olusturduk. for (int b=0; b&lt;16; b++) / Tuslarimizi 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 ; this. add ; this. add ; / Ekranimizi , küçük tuslarimizi yapistirdigimiz tusPanel'imizi ve on/off tusumuzu container'e ekliyoruz / this. setSize(250,250); this. addWindowListener(new WindowAdapter { @Override public void windowClosing } ); // Bu kod parçasi ise penceremizi X butonu ile kapatabilmemizi saglar. } public void actionPerformed { / ActionListener arayüzünden 'implemente' ettigimiz ve tuslarimizin hareketlerini denetleyip verdigimiz kpmotlara göre ne yapilmasi gerektiginin anlatildigi sinifimiz. / if ( onOff evt. getSource ) if (onOff. getLabel . equals / onOff butonunun Label'i &quot;On&quot; ise.. Dikkat! Java'da String ifadenin karsilastirilmasi ile degil equals ; yordami ile yapilir. / return; char input = evt. getActionCommand . charAt(0); System. out. println ; if (input&gt;='0' &amp; input&lt;='9' ) if String tekst=&quot;0&quot;+display. getText .trim ; long sayi = Long. parseLong ; hesapla ; display. setText ; } public void hesapla { System. out. println ; switch operatie=input; yeniGirdi=true; } public void doOnOff { yeniGirdi=true; if ( onOff. getLabel . equals ) onOff. setLabel ; display. setText ; startFlashing ; } public void startFlashing { Runnable flash = new Runnable { public void run { boolean yellow=true; while(onOff. getLabel . equals { if display. setBackground ; else display. setBackground ; yellow=! yellow; try catch } // end while } // end run }; // end Runnable new Thread . start ; } } Kaynak